farmer111 发表于 2015-4-23 06:32:13

python from __future__ import division

from __future__ import division

导入python未来支持的语言特征division(精确除法),当我们没有在程序中导入该特征时,"/"操作符执行的是截断除法(Truncating Division),当我们导入精确除法之后,"/"执行的是精确除法,如下所示:

---------------------------------------------------------------------------------------------
>>> 3/4

0

>>> from __future__ import division

>>> 3/4

  0.75
  --------------------------------------------------------------------------------------------


导入精确除法后,若要执行截断除法,可以使用"//"操作符:

--------------------------------------------------------------------------------------------

>>> 3//4

0

>>>



--------------------------------------------------------------------------------------------

一些将来特征如下:






feature

optional in

mandatory in

effect





nested_scopes

2.1.0b1

2.2

PEP 227: Statically Nested Scopes



generators

2.2.0a1

2.3

PEP 255: Simple Generators



division

2.2.0a2

3.0

PEP 238: Changing the Division Operator



absolute_import

2.5.0a1

2.7

PEP 328: Imports: Multi-Line and Absolute/Relative



with_statement

2.5.0a1

2.6

PEP 343: The “with” Statement



print_function

2.6.0a2

3.0

PEP 3105: Make print a function



unicode_literals

2.6.0a2

3.0

PEP 3112: Bytes literals in Python 3000



PEP:Python Enhancement Proposals

可以在这个地方找到很多PEP:http://www.python.org/dev/peps/ 里面还能看到许多提议的动机
比如有division:

The current division (/) operator has an ambiguous meaning for numerical arguments:
it returns the floor of the mathematicalresult of division if the arguments are ints or longs, but it returns a reasonable approximation of the division result if the arguments are floats or complex.
This makes expressions expecting float or complex results error-prone when integers are not expected but possible as inputs.
页: [1]
查看完整版本: python from __future__ import division