python学习---------函数
上一篇简单的介绍了函数的定义以及相应的参数。这一篇继续介绍更加高级的函数用法。
关键字参数
在没有特殊处理的情况下,函数的参数都是位置参数,也就意味着传入参数的时候对号入座即可
def add(a, b, c):
"""
计算三个数相加
"""
return a + b + c
print(add(1, 1, 1))# 调用函数传入参数不指定参数名按位置对号入座
print(add(c=2, a=1, b=3))# 调用函数通过“参数名=参数值”的形式可以不按顺序传入参数
写在前面的参数为位置参数,只需要对号入座,写在后面的参数为命名关键字参数,必须写成“参数名=参数值”,不然就会报错
def add(*, a, b, c):
"""
计算三个数相加
"""
return a + b + c
print(add(a=1, b=1, c=1)) # 结果为3
print(add(1, 1, 1))# TypeError: add() takes 0 positional arguments but 3 were given
如果要写一个函数,但是函数参数的个数暂时无法确定,有可能没有,有可能有很多个参数,应该怎么办?
我们在设计函数时,如果既不知道调用者会传入的参数个数,也不知道调用者会不会指定参数名,
那么同时使用可变参数和关键字参数。关键字参数会将传入的带参数名的参数组装成一个字典
,
参数名就是字典
中键值对的<