在调用函数时,实际参数既可按顺序传递,也可按名称传递,例如:
这样按名称传递的参数称为 关键字参数。
关键字参数必须在实际参数列表的末尾,否则会有歧义。例如:
可以通过 /
和 *
分割参数列表,在 /
之前的参数只能按顺序传递,在 *
之后的参数只能按名称传递。
# pos1 和 pos2 只能按顺序传递
# kwd1 和 kwd2 只能按名称传递
# pos_or_kwd 既可按顺序传递,也可以按名称传递
def func(pos1, pos2, /, pos_or_kwd, *, kwd1, kwd2):
pass