python 如何创建的对象之实例创建__new__
目录
那我们想让这些对象地址都相同该怎么办? 就要在我们复写的__new__中做手脚了,
(一)出现问题之复写__new__忘记返回
class Person(object):
# 初始化
def __init__(self):
print('init......')
#
def __new__(cls, *args, **kwargs): # 复写了object的__new__,返回创建的新对象(这里没返回所以下面出现None)
print('new......')
person = Person()
print(person) # 上面的new没返回对象,所以person就没有值,所以None
结果:
(二)解决方法之利用父类的__new__创建对象并返回