函数定义中的星号和反斜杠号
在阅读源码时, 经常会遇到一些函数的定义中有*
, /
, []
这些特殊符号. 其中中括号作为上面三种中最常见的一种, 左右中括号之间的变量在调用函数时, 可以给可不给.
但*
和/
符号见的比较少.
型参列表中*
的作用
*
的作用函数形参列表中符号*
表示, 后面的形参只能为关键字参数(keyword argument), 不能为位置参数(positional argument).
也就是说调用该函数时, 给*
后面定义的参数传参时, 只能用关键字字典的格式传, 而不能寄希望于按顺序给定并分配.
型参列表中/
的作用
/
的作用/
前的参数只能是位置参数, 不能是关键字参数. 例如sum
函数的定义如下:
采用如下的方式调用会报错:
最后更新于
这有帮助吗?