RSS
菜单

Python 的 __init__ 和 __new__ 区别?单例模式怎么实现?

__new__(cls, ...) 是构造方法:负责创建并返回实例(在 __init__ 之前调用),是真正的类方法(参数 cls),通常返回 super().__new__(cls);__init__(self, ...) 是初始化方法:对已创建实例初始化属性,返回 None。单例实现:① 重写 __new__ 控制只创建一个实例:def __new__(cls): if not hasattr(cls, '_instance'): cls._instance = super().__new__(cls); return cls._instance;② 元类实现;③ 模块级单例(模块只导入一次)。

下载推广海报

圈内讨论推广海报

《Python 的 __init__ 和 __new__ 区别?单例模式怎么实现?》完整推广海报
一起交流

全部回复 0

分享经验,让问题更进一步

讨论,从你的观点开始

还没有回复,欢迎补充经验或分享不同的思路。