首页 > 代码库 > 《python基础教程(第二版)》学习笔记 类和对象(第7章)

《python基础教程(第二版)》学习笔记 类和对象(第7章)

《python基础教程(第二版)》学习笔记 类和对象(第7章)

定义类
class Person:
    def setName(self,name):
        self.name=name
    def getName(self):
        return self.name
 
foo=Person()
foo.setName(‘AAA‘)
foo.getName()
foo.name
foo.name=‘BBB‘

私有属性,名字前面加上两个下划线。
class Person:
    def __setName(self,name):
        self.name=name
    def __getName(self):
        return self.name

class Person:
    members=0 #供全部实例访问
    def init(self):
        Person.members+=1 #供全部实例访问
    def setName(self,name):
        self.name=name
    def getName(self):
        return self.name

__metaclass__=type
class Filter:
   def init(self):
       self.blocked=[]
   def filter(self, sequence):
       return [x for x in sequence if x not in self.blocked]   
 
class SPAMFilter(Filter): #子类扩展了超类
   def init(self):
       self.blocked=[‘SPAM‘] #重写了init方法
       
issubclass(SPAMFilter, Filter) ==> True
SPAMFilter.__bases__  ==> (<class __main__.Filter at 0x0000000002E511C8>,)
isinstance(foo, SPAMFilter)  ==> False
hasattr(foo, ‘name‘) ==> True
查看对象内所有存储的值,用 __dict__属性。
foo.__dict__ ==> {‘name‘: ‘AAA‘}

《python基础教程(第二版)》学习笔记 类和对象(第7章)