2014-08-30 51 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參考文檔:

。注意,(頂級)複合語句必須跟在交互模式下一個空行這需要幫助解析器檢測輸入的結束。