Python有number
个模块
>>> import numbers
<module 'numbers' from 'C:\Python27\lib\numbers.pyc'>
并且数字模块有一个名为division
的东西 - 我不知道它是一个函数,一个属性,一个常量....
>>> numbers.division
_Feature((2, 2, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0), 8192)
那是什么? Docs上没有提到它
这是python的一些内部功能还是什么?
答案 0 :(得分:2)
这是__future__
功能之一
>>> from __future__ import division
>>> division
_Feature((2, 2, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0), 8192)
>>> numbers.division is division
True
在__future__.py
中定义如下
division = _Feature((2, 2, 0, "alpha", 2),
(3, 0, 0, "alpha", 0),
CO_FUTURE_DIVISION)
The numbers
module imports __future__.division
into its namespace,通过常规属性访问使其可用。
您可以从PEP 238
获取有关此功能的更多信息未来的部门声明,拼写为
from __future__ import division
,会将/
运算符更改为真正的除法 整个模块。
这种划分是默认的,从Python 3 +开始。
答案 1 :(得分:0)
elastic search将名称导入范围。
division
碰巧有这个价值。
答案 2 :(得分:0)
扩大vaultah的答案:
当你在python2中工作时,可以选择以更加python3友好的方式做事(两者并不完全兼容)。例如from __future__ import division
。以下是这种情况的不同之处:
a p$ ipython2
In [1]: 1 / 2
Out[1]: 0
In [2]: 2 / 3
Out[2]: 0
In [3]: from __future__ import division
In [4]: 1/2
Out[4]: 0.5
In [5]: 2/3
Out[5]: 0.6666666666666666
__future__
只是一个包装某些其他功能的神奇容器;在这种情况下,其他功能保存在numbers
。
查看文档以获取更多信息:https://docs.python.org/2/library/__future__.html