数字类型
Python中的数字类型有三种:整数,浮点数和复数。
整数:整数的的概念就不用说了,像1,2,99999都是整数。
浮点数:可以理解为带小数点的数,如0.1,23.3432,10.0都是浮点数。
复数:复数这个概念我们应该是在高中的时候接触到的,复数由两部分组成实部+虚部,如2+3j等,Python中虚部使用j表示的。
在之前介绍运算符的文章中,我有将常用的一些运算符都给列出来,感兴趣的朋友可以前去查看,从零开始学习python(1)——表达式,语句,变量与运算符 。同时为了方便说明今天的实例,我将一些用于数字运算的符号在下面列出:

实例分析
在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)
- 使用int()函数取整是直接截断小数部分,而仅保留整数部分,不遵循四舍五入的原则的。
- float()函数与int()函数一样可以对数字和字符串进行处理,需要注意的是虽然123和123.0在数值上是相等的,但是在Python的确实不同的,因为Python对于整数和浮点数的存放方法不一样。
- 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数字类型的一些简要总结,由于本人也还在学习中,如有不对还请指出,欢迎大家一起交流。