Python中的模块编号.division

时间:2015-05-18 16:43:58

标签: python python-2.7

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的一些内部功能还是什么?

3 个答案:

答案 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