🧬《Python对象的三重生命:彻底搞懂 new、init 与 call》
你可能听说过“创建对象就是调用类”,但你知道这背后,究竟发生了什么魔法吗?
在 Python 的世界里,类不仅能造出对象(Instance),对象甚至还能“像函数一样”被调用。这一切的幕后推手,就是 __new__
、__init__
和 __call__
三兄弟。
这篇文章将深入解析它们的时机、作用与实战技巧,穿插多个直观代码示例与真实开发案例,带你理解类的生命周期与高级应用设计方式。
📌 一图概览:三者调用流程
实例创建流程:
MyClass(...) →
→ __new__ → 生成实例对象(返回 instance)
→ __init__ → 初始化 instance(设置属性)
函数化调用对象:
obj() → __call__