title: What is the difference between print and print() in python 2.7
body: <p>I am newbie on Python.</p>
  
  <p>I run the following code on python 2.7 and I see different result when I use print or print(). What is the difference between these two functions?
  I read other questions e.g., <a href="https://stackoverflow.com/questions/21581241/what-is-the-difference-between-prints-in-python">this question</a>, but I didn't find my answer.</p>
  
  <pre><code>class Rectangle:
      def __init__(self, w, h):
          self.width = w
          self.height = h
      def __str__(self):
          return "(The width is: {0}, and the height is: {1})".format(self.width, self.height)
  
  box = Rectangle(100, 200)
  print ("box: ", box)
  print "box: ", box
  </code></pre>
  
  <p>The result is:</p>
  
  <pre><code>('box: ', &lt;__main__.Rectangle instance at 0x0293BDC8&gt;)
  box:  (The width is: 100, and the height is: 200)
  </code></pre>