title: Why is parenthesis in print voluntary in Python 2.7?
body: <p>In Python 2.7 both the following will do the same</p>
  
  <pre><code>print("Hello, World!") # Prints "Hello, World!"
  
  print "Hello, World!" # Prints "Hello, World!"
  </code></pre>
  
  <p>However the following will not</p>
  
  <pre><code>print("Hello,", "World!") # Prints the tuple: ("Hello,", "World!")
  
  print "Hello,", "World!" # Prints the words "Hello, World!"
  </code></pre>
  
  <p>In Python 3.x parenthesis on <code>print</code> is mandatory, essentially making it a function, but in 2.7 both will work with differing results. What else should I know about <code>print</code> in Python 2.7?</p>