Python面向对象4:类的常用魔术方法

魔术方法就是不需要人为调用的方法,基本是在特定的时刻自动触发
- 魔术方法的统一的特征,方法名被前后各两个下滑线包裹

- 操作类

- `__init__`: 构造函数
- `__new__`: 对象实例化方法,此函数较特殊,一般不需要使用
- `__call__`: 对象当函数使用的时候触发
- `__str__`: 当对象被当做字符串使用的时候调用
- `__repr__`: 返回字符串,跟`__str__`具体区别请百度

- 描述符相关

- `__set__`
- `__get__`
- `__delete__`

- 属性操作相关

- `__getattr__`: 访问一个不存在的属性时触发
- `__setattr__`: 对成员属性进行设置的时候触发
- 参数:
- self用来获取当前对象
- 被设置的属性名称,以字符串形式出现
- 需要对属性名称设置的值
- 作用:进行属性设置的时候进行验证或者修改
- 注意: 在该方法中不能对属性直接进行赋值操作,否则死循环
- 参看案例

- 运算分类相关魔术方法

- `__gt__`: 进行大于判断的时候触发的函数
- 参数:
- self
- 第二个参数是第二个对象
- 返回值可以是任意值,推荐返回布尔值
- 案例

猜你喜欢

转载自www.cnblogs.com/sl0309/p/10410115.html