I'm using python 3.3. Consider this function:
def foo(action, log=False,*args) : print(action) print(log) print(args) print() The following call works as expected:
foo("A",True,"C","D","E") A True ('C', 'D', 'E') But this one doesn't.
foo("A",log=True,"C","D","E") SyntaxError: non-keyword arg after keyword arg Why is this the case?
Does this somehow introduce ambiguity?