我对__future__
模块很感兴趣,特别是它可以改变Python语言中语句解析的方式。
最有趣的是,像这样做:
from __future__ import print_function
使您能够使用
print
(而不是像您期望的任何其他正常导入一样使用print_function
)。我已经彻底阅读了Python中的__future__用途、何时以及如何使用它以及它的工作原理,并特别注意到了其中的一行:
我想知道是什么使这成为可能。特别是,像下面这样的东西如何实现:未来语句是一种指令,指示编译器应使用语法或语义在指定的Python未来版本中可用来编译特定模块。
from __future__ import division
可以在Python2中启用真正的除法,而不会像默认情况下那样进行截断。
from __future__ import barry_as_FLUFL
可以在Python3上启用<>
语法(最有趣的是,你必须从"__future__
"导入一个特性以实现向后兼容)。
无论如何,总结一下,我想知道当导入__future__
或其产物时编译器如何理解和执行该指令。
__future__
导入将触发这些不同的标志,至少这是我所理解的。 - cs95