title: What is the advantage of the new print function in Python 3.x over the Python 2 print statement?
body: <p>I've heard several times that print being a function (3.x) is better than it being a statement (2.x). But why?</p>
  
  <p>I was a fan of it being a statement mainly because it allowed me to type two less characters (ie, the parentheses). </p>
  
  <p>I'd be interested to see some situations where the print statement just doesn't cut it, and a function is superior. </p>