$ 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()
。
答案 0 :(得分:2)
您使用的是无效的Python语法;问题不在reduce()
来电。
在交互式解释器中,必须使用换行符关闭复合块语句:
>>> def add(x,y): return x+y
...
>>> reduce(add, range(1, 11))
55
请注意...
定义后的空def add()
。
引用顶级组件参考文档的Interactive input section:
请注意,(顶级)复合语句必须在交互模式下后跟一个空行;这是帮助解析器检测输入结束所必需的。