天天看点

python int函数 向上取整_从零开始学习python(3)——数字类型数字类型小结

数字类型

Python中的数字类型有三种:整数,浮点数和复数。

整数:整数的的概念就不用说了,像1,2,99999都是整数。

浮点数:可以理解为带小数点的数,如0.1,23.3432,10.0都是浮点数。

复数:复数这个概念我们应该是在高中的时候接触到的,复数由两部分组成实部+虚部,如2+3j等,Python中虚部使用j表示的。

在之前介绍运算符的文章中,我有将常用的一些运算符都给列出来,感兴趣的朋友可以前去查看,从零开始学习python(1)——表达式,语句,变量与运算符 。同时为了方便说明今天的实例,我将一些用于数字运算的符号在下面列出:

python int函数 向上取整_从零开始学习python(3)——数字类型数字类型小结

实例分析

在IDLE的交互模式下进行测试:

 >>> 2 + 3 5 >>> 6 - 3 3 >>> 4 * 3 12 >>> 6 / 2 3.0 >>> 6 // 2 3 >>> 6 % 2 0 >>> - 23 -23 >>> + 34 34 >>> 4 ** 2 16
           

从结果中看到:6 / 2 = 3.0,这是为什么?明明是整数相除,为什么结果是一个浮点数,这其实是Python内部规定的,即使两个数能够整除结果依然是一个浮点数,那我如果想要一个整数的结果应该怎么办?这时候Python提供了另外一种除法即地板除法。

地板除法:符号是两个斜杠//,此时6 // 2 = 3。为了详细说明地板除法我们需要再测试几个例子:

 >>> 3 // 2 1 >>> -3 // 2 -2
           

地板除法遵循向下取整的原则,取比目标结果小的最大整数,是不会进行四舍五入的,所以3除以2应该等于1.5的结果变成了1,而-3除以2的结果应该等于-1.5的,会取比-1.5小的最小整数,所以是-2。

接下来介绍表格中后面几个Python的内建函数(BIF),即built in function。

pow()函数是计算平方的,作用和**几乎一样,但是它还可以传递第三个参数:

 >>> pow(4, 2) 16 >>> 4 ** 2 16 >>> pow(4, 2, 5) 1
           

在传入第三个参数后pow()函数返回的是:4 ** 2 % 5的值,即16除以5的余数1。

abs()函数则是返回参数的绝对值,如果参数是复数,则返回它的模:

 >>> abs(-123) 123 >>> abs(1 + 2j) 2.23606797749979
           

复数模的计算方法是:对实部的平方加上虚部的平方的和开平方。

对于后面几个内建函数这里一并进行讨论:

 >>> int(123.1) 123 >>> int(123.999) 123 >>> float(123) 123.0 >>> float('123') 123.0 >>> complex(23, 34) (23+34j) >>> 1 + 2j.conjugate() (1-2j) >>> divmod(7, 2) (3, 1)
           
  1. 使用int()函数取整是直接截断小数部分,而仅保留整数部分,不遵循四舍五入的原则的。
  2. float()函数与int()函数一样可以对数字和字符串进行处理,需要注意的是虽然123和123.0在数值上是相等的,但是在Python的确实不同的,因为Python对于整数和浮点数的存放方法不一样。
  3. divmod(x, y)函数返回的分别是x除以y的商,和余数。需要注意的是,它并不会改变x和y的值:
>>> divmod(7, 2) (3, 1) >>> x = 7 >>> y = 2 >>> divmod(x, y) (3, 1) >>> x 7 >>> y 2
           

小结

以上就是关于Python数字类型的一些简要总结,由于本人也还在学习中,如有不对还请指出,欢迎大家一起交流。

继续阅读