【发布时间】:2013-05-31 17:36:55
【问题描述】:
为什么这段代码会抛出 SyntaxError?
>>> def fun1(a="who is you", b="True", x, y):
... print a,b,x,y
...
File "<stdin>", line 1
SyntaxError: non-default argument follows default argument
虽然以下代码运行时没有明显错误:
>>> def fun1(x, y, a="who is you", b="True"):
... print a,b,x,y
...
【问题讨论】:
-
在python中定义函数
def myfunction(position_arguments, *arguments, **keywords):` ....`时的结构是这样的 -
当涉及到 KEYWORD-ONLY 参数时,没有明智的答案 - 为什么不能混合使用默认和非默认的仅关键字参数?它们是关键字,因此它们的顺序并不重要。这是一个任意限制。
标签: python