Ну, даже если не было документации, __future__
также является обычным модулем, который имеет некоторую информацию о себе:
>>> import __future__
>>> __future__.all_feature_names
['nested_scopes', 'generators', 'division', 'absolute_import', 'with_statement', 'print_function', 'unicode_literals']
>>> __future__.unicode_literals
_Feature((2, 6, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0), 131072)
Python 2.6 имеет большинство функцийуже включен, поэтому выберите из division
, print_function
, absolute_import
и unicode_literals
.
И нет, import __future__
не будет работать, как вы думаете.Это волшебство, только когда вы используете форму from __future__ import something
в качестве первого выражения в файле.См. документы .
Конечно, независимо от того, сколько вы импортируете из __future__
, вы получите другое поведение в 3.x.