为什么_init_()总是在_new_()之后调用?
__init__
__new__
__new__
class A(object): _dict = dict() def __new__(cls): if 'key' in A._dict: print "EXISTS" return A._dict['key'] else: print "NEW" return super(A, cls).__new__(cls) def __init__(self): print "INIT" A._dict['key'] = self print ""a1 = A()a2 = A()a3 = A()
NEW INIT EXISTS INIT EXISTS INIT
精慕HU
红颜莎娜
相关分类