Python OOP-4
8. 类的成员描述符(属性)
类的成员描述是为了在类中对类的成员属性进行相关操作而创建的一种方式
get:获取属性的操作
set:修改或添加属性操作
delete:删除属性的操作
如果想使用类的额成员描述符,大概有三种方法
使用类实现描述器
使用属性修饰符
使用 property 函数
property 函数很简单
property(fget, fset, fdel, doc)
无论哪种修饰符都是为了对成员属性进行相应的控制
类的方式:适用多个类中的多个属性共用同一个描述符
property:适用当前类中使用,可以控制一个类中多个属性
属性修饰符:适用于当前类中使用,控制一个类中的一个属性
9. 类的内置属性
10. 类的常用魔术方法
魔术方法就是不需要人为调用的方法,基本是在特定的时间自动触发
魔术方法的统一特征,方法名被前后各两个下划线包裹
操作类
__init__
:构造函数__new__
:对象实例化方法,此魔术方法较特殊,一般不需要使用__call__
:对象当函数使用的时候触发__str__
:当对象被当作字符串使用的时候__repr__
:返回字符串描述符相关
__set__
__get__
__delete__
属性操作相关
__getattr__
:访问一个不存在的属性时触发__setattr__
:对成员属性进行设置的时候触发参数:
self 用来获取当前对象
被设置的属性名称,以字符串形式出现
需要对属性名称设置的值
作用:进行属性设置的时候进行验证或者修改
注意:在该方法中不能对属性进行赋值操作,否则死循环
运算类相关魔术方法
__gt__
:进行大于判断的时候触发的函数参数
self
第二个参数是第二个对象
返回值可以是任意值,推荐返回布尔值
11. 类和对象的三种方法
实例方法
需要实例化对象才能使用的方法,使用过程中可能需要截至对象的其他对象的方法完成
静态方法
不需要实例化,通过类直接访问
类方法
不需要实例化
版权声明: 本文为 InfoQ 作者【若尘】的原创文章。
原文链接:【http://xie.infoq.cn/article/fda9892d61ce29ef59812486e】。文章转载请联系作者。
评论