记录摘自《Python核心编程(第二版)》
个人站点:测试开发者
1. 简介
数字提供了标量存储和直接访问。是不可更改类型,即变更数字的值会生成新的对象。
python支持的数字类型:整型、长整型 (仅python2)、布尔型、双精度浮点型、十进制浮点型和复数
1.1 创建数值对象并用其赋值
a_int = 1
a_float = 3.14
a_complex = 1.23 + 4.56j
1.2 更新数字对象
通过给数字对象重新赋值,即可“更新”一个数值对象,需要注意的是:用于数值对象是不可变对象,这里的更新实际上是生成了一个新的数值对象,并得到他的引用。
1.3 删除数字对象
使用del语句,如 del a_int
2. 整型
2.1 布尔型
布尔只有两个值:True和False
2.2 整型
是最通用的数字类型,一般用十进制表示,但也支持八进制或十六进制来表示
python3 八进制以"0o"开始
十六进制以0x开始
if __name__ == '__main__':
a = 0o17 # 八进制
b = 0x17 # 十六进制
print(a) # 输出15
print(b) # 输出23
2.3 长整型(python3已移除)
a_long = 12345L # not for python3
3. 双精度浮点
python中的浮点是双精度浮点,实际精度依赖于机器架构和创建python解释器的编译器
如: 0.0, 1.5, 96e*1.0, 1.609E-19
4. 复数
python中复数的概念
- 虚数不能单独存在,总是和一个值为0.0的实数部分一起来构成一个复数
- 复数由实数部分和虚数部分构成
- 表示虚数的语法: real + imagj 如: 1.23+4.56j
- 实数部分和虚数部分都是浮点型
- 虚数部分必须有后缀j或J
复数的内建属性
属性 | 描述 |
---|---|
num.real | 该复数的实部 |
num.imag | 该复数的虚部 |
num.conjugate() | 该复数的共轭复数 |
5. 操作符
5.1 混合模式操作符
python不支持数字与字符串相加,但是支持不同数字类型相加。
不同数字类型在运算时,转换原则如下:
- 如果有一个操作数是复数,另一个操作数转为复数;
- 否则,如果有一个操作数是浮点型,另一个操作数被转换成浮点型
- 否则,如果有一个操作数是长整型,则另一个操作数被转换成长整型
- 否则,两者必然都是普通整形,无须类型转换
5.2 标准操作符
上一节所讲的标准操作符都可以用于数值类型
5.3 算术操作符
5.4 整型位操作符
注意:
- 负数会被当成正数的2进制补码处理
- 左移和右移N位等同于无溢出检查的2的N次幂运算: 2**N
与运算: 同1为1
或运算:有1为1
异或运算:不同为1
6. 内建函数与工厂函数
6.1 标准类型函数
6.2 数字类型函数
数字类型函数分为转换工厂函数和功能函数