关键字参数
在调用函数传入参数时,可以指定参数名,也可以不指定参数名,一个简单的例子如下所示:
def add(a, b, c):
return a + b + c
if __name__ == '__main__':
# 调用函数传入参数不指定参数名按位置对号入座
print(add(1, 2, 3))
# 调用函数通过“参数名=参数值”的形式按顺序传入参数
print(add(a=1, b=2, c=5))
# 调用函数通过“参数名=参数值”的形式不按顺序传入参数
print(add(b=1, c=2, a=3))
在没有特殊处理的情况下,函数的参数都是位置参数,也就意味着传入参数的时候对号入座即可;也可以通过
参数名=参数值
的方式传入函数所需的参数,因为指定了参数名,传入参数的顺序可以进行调整。
调用函数时,如果希望函数的调用者必须以参数名=参数值
的方式传参,可以用命名关键字参数取代位置参数。所谓命名关键字参数,是在函数的参数列表中,写在*
之后的参数,代码如下所示。
def add(*, a, b, c):
return a + b + c
if __name__ == '__main__':
# 传参时必须使用“参数名=参数值”的方式,位置不重要
print(add(a=1, b=2, c=5))
print(add(b=1, c=2, a=3))
def add(a, *, b, c):
return a + b + c
if __name__ ==