reduce()无法解释?

时间:2014-08-30 14:20:31

标签: python

$ python
Python 2.6.6 (r266:84292, Jan 22 2014, 09:42:36) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> def add(x,y): return x+y
... reduce(add, range(1, 11))
  File "<stdin>", line 2
    reduce(add, range(1, 11))
         ^
SyntaxError: invalid syntax

我是python的新手。

有什么想法吗?

我猜测reduce()在2.6.6中不可用;有没有办法检查?我只看到2.6.9在线文档,其中有reduce()

1 个答案:

答案 0 :(得分:2)

您使用的是无效的Python语法;问题不在reduce()来电。

在交互式解释器中,必须使用换行符关闭复合块语句:

>>> def add(x,y): return x+y
... 
>>> reduce(add, range(1, 11))
55

请注意...定义后的空def add()

引用顶级组件参考文档的Interactive input section

  

请注意,(顶级)复合语句必须在交互模式下后跟一个空行;这是帮助解析器检测输入结束所必需的。