直接定义这样的函数时,Python会报错:
Python 3.4.2 (v3.4.2:ab2c023a9432, Oct 6 2014, 22:16:31) [MSC v.1600 64 bit (AMD64)] on win32 Type "copyright", "credits" or "license()" for more information. >>> def foo(p1, p2=6, p3): return 0 SyntaxError: non-default argument follows default argument >>>因为调用函数时可能会产生歧义,比如调用上面的函数foo(1, 2),是该调用foo(1, 6, 2)呢?还是该调用foo(1, 6)呢?或者其它的什么呢?...
Python - 在定义函数时,为什么默认参数不能放在必选参数前面?
原文:http://blog.csdn.net/troubleshooter/article/details/41649805