Ошибка синтаксиса печати с помощью python 3
После установки python 3.1 я ничего не могу напечатать. Вот пример:
>>> print "Hello World"
File "<stdin>", line 1
print "Hello World"
^
SyntaxError: invalid syntax
>>>
Как исправить эту ошибку?
Ответы
Ответ 1
Попробуйте следующее:
>>> print "Hello World!"
File "<stdin>", line 1
print "Hello World!"
SyntaxError: invalid syntax
>>> print("Hello World!")
Hello World!
Python 3.X изменил работу печати и теперь требует скобок вокруг аргументов.
Подробнее см. документы python.
Ответ 2
Если что-то не так, вы всегда можете обратиться за помощью:
>>> help(print)
Help on built-in function print in module builtins:
print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
и там вы можете видеть, что синтаксис этой print
вещи print(something)
смешно, что в python 2 вы получаете только сообщение об ошибке:
>>> help(print)
SyntaxError: invalid syntax
потому что в python < 3, print
не была функцией, а ключевым словом (как, например, for
или or
)
Ответ 3
Это тоже отбросило!
print("Hello World")
Изменения были задокументированы здесь: http://docs.python.org/release/3.0.1/whatsnew/3.0.html
Ответ 4
Если вы изучаете Python из учебника, который говорит вам ввести print "Hello World"
, я рекомендую установить версию Python, упомянутую в учебнике.
Ответ 5
Да, странно, как может показаться, я потратил час, пытаясь понять это. Сначала я не мог поверить, как тупой я даже не получил синтаксис. Это кажется утешением, что python изменился.
print ("Hello World")
Кажется, путь отсюда!