函数参数中的星号有什么作用?
当我查看pickle模块时,我看到了:
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 *用于强制调用方使用命名参数-因此,如果*没有以下关键字参数,则无法将函数定义为参数。
Bare *
*