我正在使用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
爲什麼會出現這種情況?
難道這不知何故引入歧義?