77:参数的类型_位置参数_默认值参数_命名参数
###参数的几种类型
###位置参数
函数调用时,实参默认按位置顺序传递,需要个数和形参匹配。按位置传递的参数,称为:
“位置参数”。
【操作】测试位置参数
def f1(a, b, c):
print(a, b, c)
f1(2, 3, 4)
f1(2, 3) # 报错,位置参数不匹配
输出结果:
D:\work\python\two\venv\Scripts\python.exe D:\work\python\two\mypy11.py
Traceback (most recent call last):
File "D:\work\python\two\mypy11.py", line 6, in <module>
f1(2, 3) # 报错,位置参数不匹配
TypeError: f1() missing 1 required positional argument: 'c'
2 3 4
###默认值参数
我们可以为某些参数设置默认值,这样这些参数在传递时就是可选的。称为“默认值参数”。默认值参数放到位置参数后面。
【操作】测试默认值参数
def f1(a, b, c=10, d=20): # 默认值参数必须位于普通位置参数后面
print(a, b, c, d)
f1(8, 9)
f1(8, 9, 19)
f1(8, 9, 19, 29)
输出结果:
D:\work\python\two\venv\Scripts\python.exe D:\work\python\two\mypy12.py
8 9 10 20
8 9 19 20
8 9 19 29
进程已结束,退出代码0
###命名参数
我们也可以按照形参的名称传递参数,称为“命名参数”,也称“关键字参数”。
【操作】测试命名参数
def f1(a, b, c):
print(a, b, c)
f1(8, 9, 19) # 位置参数
f1(c=10, a=20, b=30) # 命名参数
输出参数:
D:\work\python\two\venv\Scripts\python.exe D:\work\python\two\mypy13.py
8 9 19
20 30 10