Синтаксическая ошибка при печати с помощью Python 3

Почему я получаю синтаксическую ошибку при печати строки в Python 3?

>>> print "hello World"
  File "<stdin>", line 1
    print "hello World"
                      ^
SyntaxError: invalid syntax

person Scott    schedule 05.05.2009    source источник
comment
подсказка: для кода совместимости в python 2.7+ поместите это в начало модуля: from __future__ import print_function   -  person Yauhen Yakimovich    schedule 12.08.2013
comment
... import print_function, похоже, не работает, вам нужно что-то изменить в операторах печати? или импорт должен делать это?   -  person RASMiranda    schedule 28.03.2014
comment
Для записи в этом случае в Python 3.4.2 будет отображаться настраиваемое сообщение об ошибке: stackoverflow.com/questions/25445439/   -  person ncoghlan    schedule 22.08.2014
comment
2to3 - это программа Python, которая считывает исходный код Python 2.x и применяет серию исправлений для преобразования его в действительный код Python 3.x Дополнительную информацию можно найти здесь: [Документация Python: автоматический перевод кода Python 2 в 3] (docs.python.org/2/library/2to3.html)   -  person Oliver Sievers    schedule 19.07.2015
comment
Закрытие этого сообщения как обмана другого сообщения @ncoghlan, потому что 1. Он содержит более исчерпывающий ответ 2. Он обновлен в соответствии с последней ошибкой.   -  person Bhargav Rao    schedule 20.06.2016


Ответы (3)


В Python 3 print стал функцией. Это означает, что теперь вам нужно включить круглые скобки, как указано ниже:

print("Hello World")
person Unknown    schedule 05.05.2009

Похоже, вы используете Python 3.0, в котором print превратился в вызываемую функцию, а не в оператор.

print('Hello world!')
person brianz    schedule 05.05.2009

Поскольку в Python 3 print statement был заменен на print() function с аргументами ключевого слова для замены большей части специального синтаксиса старого оператора печати. Итак, вы должны написать это как

print("Hello World")

Но если вы напишете это в программе, и кто-то, использующий Python 2.x, попытается ее запустить, он получит ошибку. Чтобы этого избежать, рекомендуется импортировать функцию печати:

from __future__ import print_function

Теперь ваш код работает как на 2.x, так и на 3.x.

Ознакомьтесь с примерами ниже, чтобы познакомиться с функцией print ().

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

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)!

Источник: Что нового в Python 3.0?

person ChillarAnand    schedule 27.10.2014