Почему я получаю синтаксическую ошибку при печати строки в Python 3?
>>> print "hello World"
File "<stdin>", line 1
print "hello World"
^
SyntaxError: invalid syntax
Почему я получаю синтаксическую ошибку при печати строки в Python 3?
>>> print "hello World"
File "<stdin>", line 1
print "hello World"
^
SyntaxError: invalid syntax
В Python 3, print
стала функцией. Это означает, что теперь вам нужно включить скобки, как указано ниже:
print("Hello World")
Похоже, вы используете Python 3.0, в котором печать превратилась в вызываемую функцию, а не в оператор.
print('Hello world!')
Так как в 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?
В Python 3.0 print
- это регулярная функция, которая требует():
print("Hello world")
В Python 3 он print("something")
, а не print "something"
.
Похоже, вы используете Python 3. В Python 3 печать была изменена на метод вместо инструкции. Попробуйте следующее:
print("hello World")
В Python 3 вы должны сделать print('some code')
. Это связано с тем, что в Python 3 он стал функцией. Если вам нужно, вы можете использовать свой код Python 2 и преобразовать его в код Python 3 с помощью 2to3
- это отличная встроенная программа, которая поставляется с Python. Подробнее см. Python 2to3 - автоматически конвертируйте Python 2 в Python 3!.
Вам нужно использовать скобку с печатью print("Hello World")
В Python 2.X print
есть keyword, а в Python 3.X print
становится функцией, поэтому правильный способ сделать это print(something)
.
Вы можете получить список ключевых слов для каждой версии, выполнив следующее:
>>> import keyword
>>> keyword.kwlist
2to3 - это программа Python, которая считывает исходный код Python 2.x и применяет серию фиксаторов, чтобы преобразовать ее в действительный код Python 3.x.
Дальнейшую информацию можно найти здесь:
Документация на Python: Автоматический перевод кода на Python с 2 по 3