What is __future__ in Python used for and how/when to use it, and how it works
<p>People including me know there is something in Python called <code>__future__</code> and it appears in quite a few modules I read. And the dull people like me don't know why it's there, and how/when to use it , even after reading <a href="http://docs.python.org/library/__future__.html">the Python's <code>__future__</code> doc</a>. </p>

<p>So any explains with examples to demonstrate it?</p>

<p>I have got a few answers quickly, which look all correct, in terms of the basic usage.</p>

<p>However and also for further understanding how <code>__future__</code> works:</p>

<p>I just realized one key thing that was confusing me when I tried to understand it, that is, how a current python release include something that will be released in future release?
and how can a program using a new feature in a future python release be compiled successfully by the current python release?</p>

<p>So, I guess now that, the current release has already packaged some potential features that will be included in future releases - is this right? but the features are available only by <code>__future__</code>, that is because it doesn't become standard yet - am I right?</p>
