函数参数中的星号有什么作用?
当我看着 pickle module ,我看到这个:
pickle.dump(obj, file, protocol=None, *, fix_imports=True)
我知道参数前面有一个单星号和双星号(对于可变数量的参数),但这并不在前面。而且我很确定这与泡菜无关。这可能只是发生这种情况的一个例子。当我把这个发给口译员时,我才知道它的名字:
>>> def func(*):
... pass
...
File "<stdin>", line 1
SyntaxError: named arguments must follow bare *
如果重要的话,我使用的是 python 3.3.0。
最佳答案
裸*
用于强制调用者使用命名参数 - 所以你不能用 *
定义函数当您没有以下关键字参数时作为参数。
见 this answer或 Python 3 documentation更多细节。
关于python - 函数参数中的空星号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55365939/