Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我应该在Python v2.6.2中导入哪些功能?_Python_Python 3.x_Python 2.6_Python Module - Fatal编程技术网

我应该在Python v2.6.2中导入哪些功能?

我应该在Python v2.6.2中导入哪些功能?,python,python-3.x,python-2.6,python-module,Python,Python 3.x,Python 2.6,Python Module,我开始学习Python,但我不得不使用v2.6.2解释器 我希望尽可能接近Python 3,例如,使用新的print函数,“true”除法,等等 from __future__ import division from __future__ import print_function print(1/2, file=sys.stderr) # 0.5 我还应该从\uuuuuuuuuuuuuuuuuuuuuu导入哪些其他功能 我想我可以做一个常规的导入,但是当我升级到更高的版本时,我会有不同的行

我开始学习Python,但我不得不使用v2.6.2解释器

我希望尽可能接近Python 3,例如,使用新的
print
函数,“true”除法,等等

from __future__ import division
from __future__ import print_function
print(1/2, file=sys.stderr) # 0.5
我还应该从
\uuuuuuuuuuuuuuuuuuuuuu
导入哪些其他功能


我想我可以做一个常规的导入,但是当我升级到更高的版本时,我会有不同的行为(v2.7可能在
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

>>> 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)
Python2.6已经启用了大多数功能,因此可以从
division
print\u function
absolute\u import
unicode\u literals
中进行选择

不,
import\uuuuu future\uuuuu
不会像你想象的那样工作。当您使用
from\uuuuuu future\uuuuuu导入某物
表单作为文件中的第一条语句时,这才是神奇的。更多信息,请参阅

当然,无论您从
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

我还应该从
\uuuuuuuuuuuuuuuuuuuuuu
导入哪些其他功能

为了获得最新的行为,您当然应该导入所提供的所有
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。(按照系统的设置方式,旧功能即使始终打开,也不会被删除。)

请注意,
import\uuuuu future\uuuuu
不会给您提供一切,也不会
from\uuuuu future\uuuuu导入*
。来自。。。导入…
语法是针对
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu>的特殊情况(这就是它的工作原理),但是
\uuuuuuuuuuuuuuuuu。但是,这样做会让您知道实际的功能名称,以及有关何时(或预期)将其设置为默认值以及何时可用的信息

>>> [
...     name for name in __future__.all_feature_names if
...     getattr(__future__, name).optional <=
...     sys.version_info <
...     getattr(__future__, name).mandatory
... ]

['division', 'print_function', 'unicode_literals']
>[
…未来中名称的名称。如果

…getattr(\uuuuu future\uuuuuu,name)。可选。你确定这是明智的吗?如果你被迫使用Python 2.x,并且开始以Python 3.x的风格编写代码,那么强迫你使用2.x的人不会抱怨吗?@DavidHeffernan:不,我可以随心所欲地编写脚本。只是我在一台安装了Python v2.6.2的旧计算机上,另外还安装了Python v3这似乎不是一个选项。安装Python3完全是一个问题option@Frank那就安装一个可移植的Python 3.x吧。你不需要这样安装任何东西,只要把它复制到你的桌面上,然后从那里运行即可。
from\uuuuuuuuuuuuuuuuu\import
是一个future语句,而不是import语句——它有特殊的语义。
import_uuufuture_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。@KarlKnechtel或者Nick Coglan或者Raymond Hettinger反对使用它,说将它包含在
\uuuu future\uuuuuu
中是一个错误。我不记得它是在这里还是在博客帖子中。我只是使用了那个链接,因为我找不到我现在正在思考的那个链接。确实,由此产生的行为与3.x.U不太像无论如何,在输入/输出之外的任何地方使用UTF-8编码的ByTestRing都是一个坏主意。至少它以这种方式大声中断,而不是给出错误的结果,或者在某些机器上中断,而不是在其他机器上中断。