feixingfei

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
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 227Statically Nested Scopes
generators 2.2.0a1 2.3 PEP 255Simple Generators
division 2.2.0a2 3.0 PEP 238Changing the Division Operator
absolute_import 2.5.0a1 2.7 PEP 328Imports: Multi-Line and Absolute/Relative
with_statement 2.5.0a1 2.6 PEP 343The “with” Statement
print_function 2.6.0a2 3.0 PEP 3105Make print a function
unicode_literals 2.6.0a2 3.0 PEP 3112Bytes 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 mathematical  result 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.
posted on 2011-12-18 13:06  feixingfei  阅读(17285)  评论(1编辑  收藏  举报