python拆包-args、kwargs

class Son1(Parent):
    def __init__(self, name, age, *args, **kwargs):  # 为避免多继承报错,使用不定长参数,接受参数
        print('Son1的init开始被调用')
        self.age = age
        super().__init__(name, *args, **kwargs)  # 为避免多继承报错,使用不定长参数,接受参数
        print('Son1的init结束被调用')

*args是元组,接收每个无名多余的普通参数,**kwargs是字典,接收关键字参数

def test2(a, b, *args, **kwargs):
    print("------")
    print(a)
    print(b)
    print(args)
    print(kwargs)


def test1(a, b, *args, **kwargs):
    print(a)
    print(b)
    print(args)
    print(kwargs)

    # test2(a, b, args, kwargs)  # 相当于test2(11, 22, (33, 44, 55, 66), {"name":"laowang", "age":18})
    # test2(a, b, *args, kwargs)  # 相当于test2(11, 22, 33, 44, 55, 66, {"name":"laowang", "age":18})
    test2(a, b, *args, **kwargs)  # 相当于test2(11, 22, 33, 44, 55, 66, name="laowang", age=18)


test1(11, 22, 33, 44, 55, 66, name="laowang", age=18)
发布了51 篇原创文章 · 获赞 5 · 访问量 413

猜你喜欢

转载自blog.csdn.net/qq_42078231/article/details/102795871
今日推荐