python如何使用__future__模块

2024年07月22日 模块安装 魔法函数 Python51

我们都知道python是一直在更新的,想不想知道更新的内容有哪些呢?比如接下来要介绍的__future__模块就是其中之一,一起来了解下吧~

“__future__”模块的目的

关于版本的问题,“__future__”目的是把下一个版本的特性导入到当前版本,这样我们就可以在当前版本中测试一些新版本的特性,从而使得python未来版本的迁移更加容易。

“__future__”模块的作用

future 语句是一种针对编辑器的指令,指明某个特定模块应当使用在某个python发行版中成为标准特性的语法或语义。

future语句注意事项

future 语句必须在靠近模块开头的位置出现。只有以下内容可以放在future语句之前。

1 、模块的文档字符串

2 、注释

3 、空行

4 、其他future语句

关于__future__使用

(1)自python2.1起, 当一个新的语言特性首次出现在发行版中, 如果该新特性与旧版本python不兼容, 则该特性将会被默认禁止调用。如果想调用这个新特性, 则必须使用 “from __future__ import FeatureName”进行导入

(2)future__模块主要作用是提供某些将要引入的模块(当前版本不存在),而import则是引入已经在该版本发布的模块。如,python3版本之前print并不是一个函数。

print_function = _Feature((2, 6, 0, "alpha", 2),
 (3, 0, 0, "alpha", 0),
 CO_FUTURE_PRINT_FUNCTION)

(3)_future__这个模块在2.1版本时才存在,若在此版本之前导入将产生异常。同时,当环境升级至以后的某个版本中,某个特性已经成为标准的一部分,那么使用该特性就不用从__future__导入了。

nested_scopes = _Feature((2, 1, 0, "beta", 1),
 (2, 2, 0, "alpha", 0),
 CO_NESTED)

(4)避免因为版本的更新,导致原有可正常运行的代码,出现异常。比如下面这行代码在python2.7中可以运行,但在python3.0中会异常。

print ‘xiaowukongqimotuo’

(5)from __future__ import FeatureName 必须在文件的开头引用,否则会触发SyntaxError异常

本文链接:http://so.lmcjl.com/news/8943/

展开阅读全文