我正在使用python 3.3。考虑一下这个功能:为什么关键字参数不能在可变位置参数之前?
def foo(action, log=False,*args) :
print(action)
print(log)
print(args)
print()
下面的调用按预期工作:
foo("A",True,"C","D","E")
A
True
('C', 'D', 'E')
但是这一次没有。
foo("A",log=True,"C","D","E")
SyntaxError: non-keyword arg after keyword arg
为什么会出现这种情况?
难道这不知何故引入歧义?