cls只能调用一次实例 第二次None

class Zarten():
_singleton = None
def __new__(cls, *args, **kwargs):
print('__new__')
if not cls._singleton:
cls._singleton = object.__new__(cls)
return cls._singleton
def __init__(self,name,age):
print('__init__')
self.name = name
self.age = age
def __repr__(self):
return 'YOU name %s Age is %s'%(self.name,self.age)


z = Zarten('z',35)
z1= Zarten('z1',49)
print(z)
print(z1)



__new__
__init__
__new__
YOU name z Age is 35
None

posted @ 2019-06-12 15:09  技术颜良  阅读(247)  评论(0编辑  收藏  举报