__future__ module’s inclusion, you can slowly be accustomed to incompatible changes or to such ones introducing new keywords.
E.g., for using context managers, you had to do
from __future__ import with_statement in 2.5, as the
with keyword was new and shouldn’t be used as variable names any longer. In order to use
with as a Python keyword in Python 2.5 or older, you will need to use the import from above.
Another example is
from __future__ import division print 8/7 # prints 1.1428571428571428 print 8//7 # prints 1
__future__ stuff, both
The internal difference is that without that import,
/ is mapped to the
__div__() method, while with it,
__truediv__() is used. (In any case,
>>> print >>> from __future__ import print_function >>> print <built-in function print> >>>