关于 from future import
最近阅读一些源代码,在文件头部有这样的:
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
这三行代码究竟有什么用呢?
先说__future__,这个module包含了一些新版本的语言特性,当从__future__引入这些特性时,即使你当前的运行环境是较低版本的python,代码也会有高版本环境下一致的表现。
我个人的理解就是,加上了这三行之后,即使用python2,也可以正常的跑这段在python3之下的程序。不知道对不对?
也就是说如果你使用的已经是python3,就不太需要担心这三条。加上他们不会使你的程序的运行发生什么变化。只会让你的程序更健壮,能够使用低版本的运行环境。
absolute_import引入了python3里才有的import行为,即import一个模块会去引用标准库,而不是当前目录下的同名文件。
division引入了python3的除法,即/代表精准除,//代表了floor除法。
print_function就是python3的print是必须当做函数调用的。