Недопустимый синтаксис при использовании "печати"?
Я изучаю Python и не могу даже написать первый пример:
print 2 ** 100
это дает SyntaxError: invalid syntax
указывая на 2.
Почему это? Я использую версию 3.1
Ответы
Ответ 1
Это потому, что в Python 3 они заменили оператор print
на print
.
Синтаксис теперь более или менее такой же, как и раньше, но для него требуются parens:
Из что нового в python 3" docs:
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)!
Ответ 2
Вам нужны скобки:
print(2**100)
Ответ 3
Они изменили print
на Python 3. В 2 это было утверждение, теперь оно является функцией и требует скобок.
Здесь документы из Python 3.0.
Ответ 4
Синтаксис изменяется в новых версиях 3.x, а не в старых версиях 2.x:
например, в python 2.x вы можете написать:
печать "Привет новый мир"
но в новой версии 3.x вам нужно использовать новый синтаксис и написать его следующим образом:
print ( "Привет новый мир" )
проверьте документацию:
http://docs.python.org/3.3/library/functions.html?highlight=print#print