*args 和 **kwargs

普通参数,在函数调用时必须传递的参数。
默认参数,即参数含有默认值,在调用函数时可若没有传递参数则使用默认值,默认参数必须在普通参数的右侧
*args:元组参数,参数格式化存储在一个元组中,长度没有限制,必须位于普通参数和默认参数之后。

**kwargs:字典参数,参数格式化存储在一个字典中,必须位于参数列表的最后面。


def fun(name, age=1, *args, **kwargs):
    print('Hello', name, age, '年')  # Hello World 1 年
    print(args)  # ('I', 'love', 'it')
    for i in args:
        print(i)
    print(kwargs)  # {'my': 'jack', 'like': 'girl'}
    for m in kwargs:
        print(m, ':', kwargs[m])


fun('World', 1, 'I', 'love', 'it', my='Rose', like='girl')

猜你喜欢

转载自blog.csdn.net/kwoky/article/details/80695699