title: Why does print() print an empty tuple instead of a newline?
body: <p><strong>The error was caused by a typo. Please flag this question as off-topic.</strong></p>
  
  <p>I am having a little issue with the following lines.</p>
  
  <pre><code>from __future__ import print_function
  print()
  </code></pre>
  
  <p>If I open up my Windows CLI and run it, it runs as expected.</p>
  
  <p><a href="https://i.stack.imgur.com/bXcyP.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/bXcyP.png" alt="enter image description here"></a></p>
  
  <p>When I stick it in a program and execute it, instead of simply printing a newline, it prints <code>()</code>.</p>
  
  <p><a href="https://i.stack.imgur.com/MYAVz.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/MYAVz.png" alt="enter image description here"></a></p>
  
  <p>Has anybody run into this before?</p>
  
  <p><strong>Additional Details:</strong></p>
  
  <p>If I run a program with just those two lines, it runs as expected.</p>
  
  <p>But for some reason, in my program <code>print()</code> prints <code>()</code>. If I replace that line with <code>print(1)</code>, it prints <code>1</code> as it should.</p>
  
  <p>Running on Windows 8 64-bit. Python 2.7.11 (v2.7.11:6d1b6a68f775)</p>
  
  <p><strong>Minimal, complete, and verifiable example:</strong></p>
  
  <pre><code>class A:
      def f(self):
          print()
  
  if __name__ == '__main__':
      a = A()
      a.f() 
  </code></pre>
  
  <p><strong>Final Update:</strong></p>
  
  <p>Oh my!!!! I am an idiot.</p>
  
  <p>I have a driver program that has the future import, but the class (which is another file) does not! I do have statements like <code>print('abc', file=sys.stderr)</code>, but they were not being executed, so the program ran no problem.</p>
  
  <p>My example above actually runs fine. The example I was running didn't have the import. The file I was editing (otherwise an exact copy of the example) did.</p>
  
  <p>Woops!!!!</p>