函数参数中的星号有什么作用?
当我查看 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 上。
最佳答案
Bare *
用于强制调用者使用命名参数 - 因此当您没有以下关键字参数时,您不能使用 *
作为参数定义函数。
见 this answer或 Python 3 documentation了解更多详情。
关于python - 函数参数中的裸星号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14301967/