2011-11-17 80 views
2

在此代码:具有非可选参数遵循一个可选的参数

def plot(div_name = "", series , options = {}) 

我得到一个语法错误:

unexpected '=', expecting ')' (SyntaxError). 

这是为什么? 为系列分配默认值可解决该问题。

+0

请不要在未来将您的代码放在问题的标题中。代码应该用代码标签进行适当的格式化:http://stackoverflow.com/editing-help – Polynomial

+0

@Polynomial就是这样,我认为你的编辑使标题100%的帮助不大。我甚至没有点击标题为“为什么会出现语法错误?”的问题。该标题包含关于问题的绝对零度信息。原始标题告诉我我需要知道的一切 - 缺少代码格式化。 – sepp2k

+0

@ sepp2k - 道歉。我没有编辑它,而是杂乱无章。我已经澄清它更具描述性。 – Polynomial

回答

5

您不允许使用可选参数,然后是非可选参数,后跟可选参数。如果允许,那么plot(foo, bar)应该是plot(foo, bar, {})还是plot("", foo, bar)将是不明确的。

+0

实际上,问题是有一个可选参数,后跟一个非可选参数,后跟一个可选参数。 –

+0

@Andrew:的确如此。编辑。 (在可选参数在1.9中是新的之后允许非可选参数,所以我忘了它)。 – sepp2k

+0

非常有启发性的家伙,谢谢! –