在调用元类库时,object .__ init __()不带参数

时间:2012-03-04 13:48:17

标签: python oop metaclass

当我尝试使用单身的这种方法时:

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。实际上 - 我的错误/不理解在哪里?

1 个答案:

答案 0 :(得分:7)

元类派生自type,而不是object