print syntax error with python 3 [duplicate]
After installing python 3.1, I cannot print anything. Here is an example:
>>> print "Hello World"
File "<stdin>", line 1
print "Hello World"
^
SyntaxError: invalid syntax
>>>
How do I fix this error?
Try this:
>>> print "Hello World!"
File "<stdin>", line 1
print "Hello World!"
SyntaxError: invalid syntax
>>> print("Hello World!")
Hello World!
Python 3.X changed how print works, and now requires parentheses around the arguments. Check out the python docs for more.
if something's going wrong, you can always try to call for help:
>>> help(print)
Help on built-in function print in module builtins:
print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
and there you might see, tha the syntax of that print
thing is print(something)
funny is, that in python 2, you get just an error message:
>>> help(print)
SyntaxError: invalid syntax
it's because in python < 3, print
function was not a function, but a keyword (just like e.g. for
or or
)
This threw me off too!
print("Hello World")
The changes were documented here: http://docs.python.org/release/3.0.1/whatsnew/3.0.html
If you are learning Python from a textbook that is telling you to type print "Hello World"
, I recommend installing the Python version mentioned in the textbook.
Yeah strange as it may seem i spent an hour trying to figure it out . At first could not believe how dumb i was to not even get the syntax right . This seems a consolation that python has changed .
print ("Hello World")
seems the way to go from now !
精彩评论