Недопустимый синтаксис при использовании "печати"?

Я изучаю 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