Invalid syntax when using "print"?

Python

Python Problem Overview


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

Python Solutions


Solution 1 - Python

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)!

Solution 2 - Python

You need parentheses:

print(2**100)

Solution 3 - Python

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.

Solution 4 - Python

The syntax is changed in new 3.x releases rather than old 2.x releases: for example in python 2.x you can write: print "Hi new world" but in the new 3.x release you need to use the new syntax and write it like this: print("Hi new world")

check the documentation: <http://docs.python.org/3.3/library/functions.html?highlight=print#print>

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionLonnie PriceView Question on Stackoverflow
Solution 1 - PythonTM.View Answer on Stackoverflow
Solution 2 - PythonJohn RaschView Answer on Stackoverflow
Solution 3 - PythonSchwernView Answer on Stackoverflow
Solution 4 - PythonNKNView Answer on Stackoverflow