1、如果函数定义中已经有了一个可变参数,后面跟着的命名关键字参数就不再需要一个特殊分隔符*了。
def person(name, age, *args, city, job): print(name, age, args, city, job)
2、命名关键字参数必须传入参数名,这和位置参数不同。如果没有传入参数名,调用将报错。
>>> 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 # 由于调用时缺少参数名`city和job`,Python解释器把这4个参数均视为位置参数,但person()函数仅接受2个位置参数。
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试