, ( ). . , . , , .
- , ; , . type , , , :
- , , MRO
MyClass(*args, **kwargs) i = MyClass.__new__(MyClass, *args, **kwargs), , i.__init__(*args, **kwargs),- , , ,
- Etc
, , - , , type. type, , , ; , , - (, , ) Book, .
, - , , , . , " , " - ; , .
google , , , ; . . , . factory , , , , , , .
, , Python - , .
- "singleton pattern", , ; , . ( , , , , ). , __new__ __init__. , , Python __new__, __init__ , , - singleton. , Python , , , , , Python , , , , ?
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
10 , , __metaclass__ = Singleton, .. , , . , - .
Book , -, . , , -, ( "man, , , , ?" ). , - , , Python; , Singleton, .