class Foo:
def __new__(cls, *args, **kwargs):
print("execute new")
print("*args is ", args)
return super().__new__(cls)
def __init__(self, value):
print('ececute init')
print("value is ", value)
self.value = value
class Goo(Foo):
def __new__(cls, *args, **kwargs):
print("*args is ", args)
return super().__new__(cls, *args, **kwargs)
def __init__(self, a, b):
super().__init__(a)
self.a = a
self.b = b
g = Goo(1,2)
# out is:
# /usr/local/bin/python3.6 /Users/zrb/PycharmProjects/MRHU/Studing/singleton.py
# *args is (1, 2)
# execute new
# *args is (1, 2)
# ececute init
# value is 1
# __new__的参数第一个一半都是自身 # 其他方法都是需要的传送必要的,super需要的参数
是这样的吗