核心概念
- 定义:被双下横线包围的特殊方法
- 特性:适当时候自动调用
- 作用:体现面向对象Python的强大
__init__方法(构造方法)
- 调用时机:类实例化对象时(非第一个被调用)
- 重写原因:满足实例化传参需求(如矩形类长和宽)
- 注意事项:返回值必须是None,否则报TypeError
- 实例:矩形类(长、宽参数+周长/面积计算方法)
__new__方法
- 调用时机:实例化时第一个被调用,早于__init__
- 参数特点:第一个参数是class而非self,后续参数传给__init__
- 返回值:必须返回一个实例对象
- 重写场景:继承不可变类型(如字符串)需修改时
- 实例:CapString类(继承str,实例化自动转大写)
__del__方法(析构方法)
- 作用:对象被销毁时自动调用
- 调用条件:对象所有引用被删除,触发垃圾回收
- 注意事项:del 变量≠调用__del__,仅减少引用计数
- 实例:CDel类(打印方法调用状态,验证引用与销毁关系)