2009-12-07 141 views
2

這是爲什麼抱怨無效的語法?爲什麼這是無效的語法?

#! /usr/bin/python 

recipients = [] 
recipients.append('[email protected]') 

for recip in recipients: 
    print recip 

我不斷收到:

+0

重複:http://stackoverflow.com/questions/826948/python-syntax-error-on-print – 2009-12-07 20:04:47

回答

11

如果您正在使用Python 3 print是一個函數。像這樣稱呼:print(recip)

+0

我猜蟒蛇3.0版很多重大改變?似乎raw_input不再支持輸入。當初學者使用不兼容的版本時,很難讓他們遵循示例。 ( – Chris 2009-12-07 17:43:34

+0

)3.0和3.1文檔的「新增功能」部分列出了所有3.x更改。 – 2009-12-07 17:47:01

+0

如果您使用基於2.6的示例進行學習,則應該使用2.6。仍可使用。 – recursive 2009-12-07 18:09:29

3

如果它是Python 3,print現在是一個函數。正確的語法是

print (recip) 
4

在python 3中,print不再是一個語句,而是一個function

Old: print "The answer is", 2*2 
New: print("The answer is", 2*2) 

更多蟒蛇3 print功能:

Old: print x,   # Trailing comma suppresses newline 
New: print(x, end=" ") # Appends a space instead of a newline 

Old: print    # Prints a newline 
New: print()   # You must call the function! 

Old: print >>sys.stderr, "fatal error" 
New: print("fatal error", file=sys.stderr) 

Old: print (x, y)  # prints repr((x, y)) 
New: print((x, y))  # Not the same as print(x, y)!