Почему этот неверный синтаксис? - PullRequest
2 голосов
/ 07 декабря 2009

Почему это жалуется на неверный синтаксис?

#! /usr/bin/python

recipients = []
recipients.append('chris@elserinteractive.com')

for recip in recipients:
    print recip

Я продолжаю получать:

File "send_test_email.py", line 31
    print recip
              ^
SyntaxError: invalid syntax

Ответы [ 3 ]

11 голосов
/ 07 декабря 2009

Если вы используете Python 3 print - это функция. Назовите это так: print(recip).

4 голосов
/ 07 декабря 2009

В python 3 печать больше не является оператором, а функцией .

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

Дополнительные функции Python 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)!
3 голосов
/ 07 декабря 2009

Если это Python 3, print теперь является функцией. Правильный синтаксис будет

print (recip)
...