python类的创建
class Person: def setName(self, name): self.name = name def getName(self): return self.name def greet(self): print(''Helllo, world! I'm %s." % self.name)
定义时,成员函数的第一个参数为self,相当于C++的this
成员变量定义时不需要单独定义,在成员函数使用self调用即可
定义私有变量和私有函数,只需要在前面加双下划线即可
def __inaccessible(self): print("inaccessible function")
然而Python中定义的私有类型,在外部并非完全不可调用,,因为在类的内部定义中私有类型是被翻译成单下划线加类名作为前缀的类型,即
_类名__inaccessible
这样在外部也可以调用。
类的继承
类继承是在类定义时类名后的圆括号内指定父类(或超类)
class Filter: def init(self): self.blocked = [] def filter(self, sequece): return [x for x in sequence if x not in selt.blocked] class SPAMFilter(Filter): def init(self): self.blocked = ['SPAM']
类中init是类的构造函数
检查继承性,可以使用内建的issubclass函数:
>>> issubclass(SPAMFilter, Filter)
True
如果要继承多个类,就在括号里依次添加类名