Python:运算类内建函数列举

2018-07-09 13:30:22来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

1. divmod()

python3.x版本中,整除运算用 “//”,取余可以用 “%”,在某些问题中要同时得到商和余数就需要两步运算,而使用divmod函数可以同时得到商和余数

函数有两个参数divmod(a,b),参数a是被除数,参数b是除数

eg: >>> divmod(5,2)

(2,1)  #使用内建函数返回一个元祖,第一个值是商,第二个值是余数

ps:突然想到主存的映射问题中,使用该函数可以很快得到主存中某地址上的数在cache中的对应块数和块中偏移量,极快就可以锁定位置了。

2. round()

内建函数round()用来进行“四舍五入”运算

函数有两个参数round(a,b),参数a是所要处理的小数,参数b表示要保留的小数位数

eg:>>> round(1.234567,2)

1.23  #返回值即是四舍五入后的值

###例外的“bug”###

eg:>>> round(1.12345,4)

1.1234   #按一般的十进制四舍五入,结果应该是1.1235

官方文档给出的解释是:"It's a result of the fact that most decimal fractions can't be represented exactly as a float. See Floating Point Arithmetic: Issues and Limitations for more information." 因为计算机中的数据都是二进制表示,而在浮点数的二进制表示这块,有部分浮点数不能用二进制来精确表示,而计算机存储的位数是有限制的,所以往往这类浮点数在计算机中就不会精确等于它原来的十进制数了。由于这个问题的存在,所以上面的运算结果也就是正确的啦!

ps: 需要精确运算时,建议使用decimal模块。

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:前言--

下一篇:python 排序模块 ———— heapq(学习笔记)