brackets around print in python

printing, python

Solution

For Python 2, it makes no difference. There, `print` is a statement and `'hello'` and `('hello')` are its argument. The latter gets simplified to just `'hello'` and as such it’s identical.

In Python 3, the print statement was removed in favor of a print function. Functions are invoked using braces, so they are actually needed. In that case, the `print 'hello'` is a syntax error, while `print('hello')` invokes the function with `'hello'` as its first argument.

You can backport the print function to Python 2, by importing it explicitly. To do that add the following as the first import of your module:

from __future__ import print_function

Then you will get the same behaviour from Python 3 in Python 2, and again the parentheses are required.

Problem

I have this line of code in python ``` print 'hello world' ``` against ``` print ('hello world') ``` can someone tell me the difference between the two? I used it in a a simple code ``` var = 3 if var > 2: print 'hello' ``` it fails for checking strictly for all values for var. But if I define the code as ``` var = 3 if var > 2: print ('hello') ``` it works!

Original source

Related problems