from _future_ import division[Python]

本文介绍了Python中导入`_future_.division`以实现精确除法的功能。在未导入此特性时,`/`执行截断除法;导入后,`/`执行精确除法,而`//`用于截断除法。在Python2.x中,为获得Python3.x的除法行为,可借助`__future__`模块。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

from _ future _ import division[Python]

《learn to see in the dark》CVPR2018代码阅读报告

__future__模块的存在是为了让人们能够在旧的版本中测试新版本的一些特性。
导入python未来支持的语言特征division(精确除法),当我们没有在程序中导入该特征时,"/“操作符执行的是截断除法(Truncating Division),当我们导入精确除法之后,”/"执行的是精确除法,如下所示:

 >>3/4
 0
>>> from __future__ import division
>>> 3/4
0.75

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

>>> 3//4
0

在python2.x中对于除法有两种情况,如果是整数相除,结果仍是整数,余数会被去掉,这种除法被称为截断除法。

>>> 5/3
1

这里注意,截断除法不是四舍五入,而是直接把小数部分去掉。

如果要作精确除法,必须把其中的一个数变为浮点数:

>>> 5.0/3
1.6666666666666667

而在python3.x中,所有的除法都是精确除法,如果要使用截断除法用“//”表示即可:

>>> 5/3
1.6666666666666667
>>> 5.0/3
1.6666666666666667
>>> 5//3
1

如果在python2.x中想像python3.x中一样使用精确除法和截断除法,就可以使用__future__模块中的division方法来实现。

>>> from __future__ import division;
>>> 5/3
1.6666666666666667
>>> 5//3
1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值