2014-08-30 60 views
-2
$ 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 

我是新来的蟒蛇。reduce()不能被解释?

有什么想法?

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

回答

2

您正在使用无效的Python语法;这不是reduce()的调用问题。

在交互式解释,你必须关闭复合语句块以新行:

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

注意空...def add()定义之后。

引用顶层组分的Interactive input section参考文档:

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