当我尝试使用单身的这种方法时:
class Singleton(object):
def __init__(self, name, bases, dict):
super(Singleton, self).__init__(name, bases, dict)
self._instance = None
def __call__(self):
if self._instance is None:
self._instance = super(Singleton, self).__call__()
return self._instance
class NewClass(object):
__metaclass__ = Singleton
我收到了一个错误:
调用元类库时出错 object。 init ()不带参数
我不确定,我是否正确理解了__init__
方法所采用的参数:name, bases, dict
。实际上 - 我的错误/不理解在哪里?
答案 0 :(得分:7)
元类派生自type
,而不是object
。