Python类基本知识
一,Python类定义,语法格式如下:
class ClassName:<statement-1>...<statement-N>
二,类的继承
1,单父类继承
Python 同样支持类的继承,派生类的定义如下所示,
例如如下DerivedClassName继承父类BaseClassName
class DerivedClassName(BaseClassName):<statement-1>...<statement-N>
BaseClassName(实例中的基类名)必须与派生类定义在一个作用域内。除了类,还可以用表达式,基类定义在另一个模块中时这一点非常有用,例如继承另一个模块中的类 modname.BaseClassName:
class DerivedClassName(modname.BaseClassName):<statement-1>...<statement-N>
2,多父类继承
Python同样有限的支持多继承形式。多继承的类定义形如下例:
例如如下DerivedClassName继承三个父类Base1, Base2, Base3
class DerivedClassName(Base1, Base2, Base3):<statement-1>...<statement-N>
三,Python类的私有属性
1,公有属性
非双下划线开头定义的类属性,即为公有属性,外部可以访问,obj.attName;
2,私有属性
__private_attrs:两个下划线开头,声明该属性为私有,不能在类的外部被使用或直接访问。在类内部的方法中使用时 self.__private_attrs。
四,Python类方法
1,Python类的公有方法
在类的内部,使用 def 关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数 self,
且必须为第一个参数,self 代表的是类的实例,而非类。self 的名字并不是规定死的,也可以使用 this,但是最好还是按照约定使用 self。
2,Python类的私有方法
__private_method:两个下划线开头,声明该方法为私有方法,只能在类的内部调用 ,不能在类的外部调用,self.__private_methods。
3,Python类的专有方法:
__init__ : 构造函数,在生成对象时调用
__del__ : 析构函数,释放对象时使用
__repr__ : 打印,转换
__setitem__ : 按照索引赋值
__getitem__: 按照索引获取值
__len__: 获得长度
__cmp__: 比较运算
__call__: 函数调用
__add__: 加运算
__sub__: 减运算
__mul__: 乘运算
__truediv__: 除运算
__mod__: 求余运算
__pow__:乘方
欢迎拍砖讨论...