3 回答
![?](http://img1.sycdn.imooc.com/545861e40001199702200220-100-100.jpg)
TA贡献1845条经验 获得超8个赞
__new__
__init__
__new__
__init__
__init__
self
self
.
def singleton(cls): instances = {} def getinstance(): if cls not in instances: instances[cls] = cls() return instances[cls] return getinstance@singletonclass MyClass: ...
![?](http://img1.sycdn.imooc.com/54584dd900014f6c02200220-100-100.jpg)
TA贡献1842条经验 获得超12个赞
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
添加回答
举报