很多次看到API文档里面的/和*,那么这两个符号到底是什么意思呢?
插入链接:到知乎看看
/的含义是之前的参数都是positional-only:
>>> help(binascii.b2a_base64)
b2a_base64(data, /, *, newline=True)
Base64-code line of data.
>>> import binascii
>>> binascii.b2a_base64(b'foo')
b'Zm9v\n'
>>> binascii.b2a_base64(data=b'foo')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: b2a_base64() takes exactly 1 positional arguments (0 given)
作者:angwer
链接:https://www.zhihu.com/question/287097169/answer/455761400
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
/到*之间的参数可以被用作positional argument和keyword argument
*之后的参数是keyword-only
目前用pure Python是不支持positional-only argument的(除了*args),所以你一般只能看到C写的函数signature里有/,比如内置函数