参数的疑问

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需要的参数

是这样的吗

猜你喜欢

转载自blog.csdn.net/hsc_1/article/details/81101376