数字类型用于存储数学意义上的数值。
数字类型是不可变类型,所谓不可变是指数字类型的值一旦有不同了,那他将是一个新的对象。类如1和2分别代表两个不同的对象,对对象重新赋值一个数字类型,会新建一个数字对象。
数字类型包括:整型(int)、浮点型(float)、布尔型(bool)、复数(complex)
一、整型(int)
通常被称为整型,是正或负整数,不带小数点。Python3 的整型可以当作 Long 类型(更长的整型)使用,所以 Python3 没有 Python2 的 Long 类型。 例如:1,100,-8080,0,等等。
小整数对象池:
Python初始化的时候会自动创建一个小证书对象池,方便我们调用,避免后期重复生成。这是一个包含262个指向整数对象的指针数组,范围是-5 ~ 256。通过内置函数id()(可以用来查看变量的内存地址)可以验证小整数池的存在。
二、浮点型(float)
浮点数也就是小数,如 1.23,3.14,-9.01,等等。但是对于很大或很小的浮点数, 一般用科学计数法表示,把 10 用 e 替代,1.23x10^9 就是 1.23e9,或者 12.3e8, 0.000012 可以写成 1.2e-5,等等。
三、复数(complex)
复数由实数部分和虚数部分构成,可以用 a + bj,或者 complex(a,b)表示,复数的 实部 a 和虚部 b 都是浮点型。关于复数,不做科学计算或其它特殊需要,通常很 难遇到。
四、数字类型转换
有时候,我们需要对数字的类型进行转换。Python 为我们提供了方便的内置的数据类型转换函数。
- int(x): 将 x 转换为一个整数。如果 x 是个浮点数,则截去小数部分。
- float(x) :将 x 转换到一个浮点数。
- complex(x) :将 x 转换到一个复数,实数部分为 x,虚数部分为 0。
- complex(x, y): 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。
五、数学计算
1、运算符运算
对于数字类型的变量,可以做简单的加减乘除等等运算。类如:
a=10
b=21
运算符 | 描述 | 示例 |
+ | 加 - 两个数相加 | a+b输出结果31 |
- | 减 - 得到负数或一个数减去另一个数 | a-b输出结果-11 |
* | 乘 - 两个数相乘或返回一个被重复若干次的字符串 | a*b输出结果210 |
/ | 除 - 一个数除以另一个数 | b/a输出结果2.1 |
% | 取模 - 返回除法的余数 | b%a输出结果1 |
** | 幂 - 返回x的y次幂 | a**b输出为10的21次方 |
// | 取整除 - 向下取接近除数的的整数 | 9//2=4 -9//2=-5 |
2、math库运算
函数 | 返回值(描述) |
ceil(x) | 返回数字的上入整数,如math.ceil(-4.1)=-4 |
fabs(x) | 返回数字的绝对值,如math.fabs(-1)=1.0 |
floor(x) | 返回数字的下舍整数,如math.ceil(-4.1)=-5 |
六、布尔类型
布尔类型只有两种:True和False,注意首字母是大写,不能花式变换其他类型。
所有计算结果或者调用返回值是True或False的过程都可以称为布尔运算,类如:
socre = 90
if socre >= 60:
print('及格了')
else:
print('不及格')
1、内置的bool()函数可以测试一个表达式的布尔值结果
2、布尔运算
布尔类型可以进行and、or、not运算
and运算是与运算,只有所有都为True,and运算的结果才是True。
or运算是或运算,只要其中有一个为True,or运算结果就是True。
not运算是非运算,它是单目运算符,把 True变成False,False变成True。
七、空值None
空值None(首字母大写)是一个特殊的值,既不是布尔类型,也不能理解为0,他的类型是NoneType。