在命令行中查看python的函数原型时,发现函数的形式参数中会有/和*
def f(pos1, pos2, /, pos_or_kwd, *, kwd1, kwd2):
/
和 *
是可选的。这些符号表明形参如何把参数值传递给函数:位置、位置或关键字、关键字。
函数定义中未使用 /
和 *
时,参数可以按位置或关键字传递给函数。
1. /
/
用于在逻辑上分割仅限位置形参与其它形参。如果函数定义中没有 /
,则表示没有仅限位置形参。
特定形参被标记为 仅限位置时,形参的顺序很重要,且这些形参不能用关键字传递。仅限位置形参应放在 /
(正斜杠)前。/
用于在逻辑上分割仅限位置形参与其它形参。如果函数定义中没有 /
,则表示没有仅限位置形参。/
后可以是 位置或关键字 或 仅限关键字 形参。
2.*
把形参标记为 仅限关键字,表明必须以关键字参数形式传递该形参,应在参数列表中第一个 仅限关键字 形参前添加 *
def standard_arg(arg): # 最常见的形式,对调用方式没有任何限制,可以按位置也可以按关键字传递参数
print(arg)
standard_arg(2)
st