创造新类和改变类行为
metaclass的意义
对象实例化的过程:
调用 _new_ 方法 ,创造实例
调用 _init_ 方法 ,初始化实例
在new方法中,可以对类就行实例化时的操作,例如单例模式在这里对其做了判断。
class SingleMod:
def __new__(cls):
if hasattr(cls, "_instance"):
return cls._instance
cls._instance = super().__new__(cls)
原创
2021-04-06 12:09:44 ·
164 阅读 ·
0 评论