1.3 基础数据类型 -- 数值型与bool型
1.数值类型的分类
数值类型共分5类, 即 布尔型, 整型, 长整型(py2), 浮点数以及复数.
说明:布尔型应属单独类型, 但bool型的True会映射到整型的1, False会映射到整型的0, 所以将 bool归类于数值型
2.数值类型简介
(1).布尔类型(bool): 包括True和False, 分别映射为数值1和0, 注意在Python中的True和False首字母大写
(2).整数int: 在python3总不必担心其承载数值的范围. 在python2中表示范围在-2147483648 ~ 2147483647之间的所有整数
(3)长整型(long): 只在python2中存在, python3中已经不存在
(4).浮点型(float): 这里的float是用机器上浮点数的原生双精度表示的. 其提供大约17位数的精度和范围从-308到308的指数
(5).复数(complex): 复数使用一对浮点数表示, 复数由实部与虚部组成, 如 : 3 + 2j
注: 在python3中只有布尔型, 整型, 浮点型, 复数型等4种类型
3.数值类型的运算操作
(1).所有数据类型通用运算操作
| 操作 | 描述 |
| x + y | 加法 |
| x - y | 减法 |
| x * y | 乘法 |
| x / y | 除法 |
| x // y | 截断除法 |
| x ** y | 乘方 |
| x % y | 取模 |
| -x | 一元减法 |
| +x | 一元加法 |
(2).只能应用于整数的移位运算与按位逻辑运算
| 操作 | 描述 |
| x << y | 左移 |
| x >> y | 右移 |
| x & y | 按位与 |
| x | y | 按位或 |
| x ^ y | 按位异或 |
| ~x | 按位取反 |
(3).以下内置运算函数支持所有数值类型
| 操作 | 描述 |
| abs(x) | 绝对值 |
| divmod(x, y) | 商余函数 |
| pow(x, y[, modulo]) | 幂运算[取模] |
| round(x[, n]) | 近似取值(四舍五入) |
说明:
abs(x):返回数值的绝对值divmod(x, y):返回x与y的除法操作的商和余数,注意此函数只对非复数有效pow(x, y[, modulo]):如果没有modulo参数,只计算x的y次幂的运算,如果有modulo参数,会用幂运算的结果与modulo做取模运算round(x[, n]):对数值进行近似运算,为什么不是四舍五入运算呢?其实这跟round的运算特性有关, x参数是要运算的数, n是要保留的小数位数.第一种情况:当x的小数部分要进行近似运算的位是4,则直接舍掉,如果是6则直接进位,即四舍六入;第二种情况:近似运算位是5,Python认为这个浮点数距离进位后的数和舍去后的数一样近,这种情况下,在Python2中会背离0的方向进行取舍,如1.65保留一位小数为1.7,而在Python3中则趋于偶数进行取值,即1.65保留一位小数为1.6;第三种情况是利用以上两条规则并不能的到正确的结果,是因为计算机在处理浮点数时的存储机制导致的.
(4).数值比较运算, 返回布尔值(不能对复数进行以下比较运算, 否则会抛出TypeError异常)
| 操作 | 描述 |
| x < y | 小于 |
| x > y | 大于 |
| x == y | 等于 |
| x != y | 不等于 |
| x >= y | 大于等于 |
| x <= y | 小于等于 |
注意:比较运算可以连接在一起, 如 x < y < z, 其结果等同于 y > x and y < z
浙公网安备 33010602011771号