Syntax error on print with Python 3 [duplicate]
Because in Python 3,
print statement has been replaced with a
print() function, with keyword arguments to replace most of the special syntax of the old print statement. So you have to write it as
But if you write this in a program and someone using Python 2.x tries to run it, they will get an error. To avoid this, it is a good practice to import print function:
from __future__ import print_function
Now your code works on both 2.x & 3.x.
Check out below examples also to get familiar with print() function.
Old: print "The answer is", 2*2New: print("The answer is", 2*2)Old: print x, # Trailing comma suppresses newlineNew: print(x, end=" ") # Appends a space instead of a newlineOld: print # Prints a newlineNew: 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)!
Source: What’s New In Python 3.0?