参数组合
参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。
a, a=0,一颗星 *kw, *,kw 两颗星 **kw
限制越来越少
必选参数 a: 必须有
默认参数 a=0: 可有可无
可变参数 一颗星 *kw,: 参数数量 0-多个
命名关键字参数 *,kw: 可有可无, 调用时需要指定参数名
命名关键字参数调用方式如下:
>>> person('Jack', 24, city='Beijing', job='Engineer')
如果没有传入参数名,调用将报错:
>>> person('Jack', 24, 'Beijing', 'Engineer') Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: person() takes 2 positional arguments but 4 were given
如果函数定义中已经有了一个可变参数,后面跟着的命名关键字参数就不再需要一个特殊分隔符
*
了:def person(name, age, *args, city, job):
关键字参数 **kw: 可有可无, 参数数量 0-多个