I'm learning Python and can't even write the first example:
print 2 ** 100
this gives SyntaxError: invalid syntax
pointing at the 2.
Why is this? I'm using version 3.1
I'm learning Python and can't even write the first example:
print 2 ** 100
this gives SyntaxError: invalid syntax
pointing at the 2.
Why is this? I'm using version 3.1
That's weird. It works for me in Python 2.6 & it does work without parenthesis.
That is because in Python 3, they have replaced the print
statement with the print
function.
The syntax is now more or less the same as before, but it requires parens:
From the "what's new in 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)!
They changed print
in Python 3. In 2 it was a statement, now it is a function and requires parenthesis.
Here's the docs from Python 3.0.