3 回答
TA贡献1845条经验 获得超8个赞
__new____init____new____init____init__selfself.
def singleton(cls):
instances = {}
def getinstance():
if cls not in instances:
instances[cls] = cls()
return instances[cls]
return getinstance@singletonclass MyClass:
...TA贡献1842条经验 获得超13个赞
SomeClass(arg1, arg2)
__init__
__new____new__
__init__
__new____new____init__SomeClass(arg1, arg2)__new____init____call__
__call____call__Singleton__new__ 完全没有__metaclass__ = Singleton!
class Singleton(type): def __init__(self, *args, **kwargs): super(Singleton, self).__init__(*args, **kwargs) self.__instance = None def __call__(self, *args, **kwargs): if self.__instance is None: self.__instance = super(Singleton, self).__call__(*args, **kwargs) return self.__instance
添加回答
举报
