第3章:基本数据类型
- 3.1 数字类型及操作
- 3.3 字符串类型及操作
学习要求:
方法论 - Python数字及字符串类型
实践能力 - 初步学会编程进行字符类操作
整数类型
与数学中整数的概念一致
- 可正可负,没有取值范围限制
- pow(x,y)函数:计算 xy,想算多大算多大
>>> pow(2,100) 1267650600228229401496703205376
>>> pow(2,pow(2,15)) 1415461031044954789001553……
4种进制表示形式
- 十进制:1010, 99, -217
- 二进制,以0b或0B开头:0b010, -0B101
- 八进制,以0o或0O开头:0o123, -0O456
- 十六进制,以0x或0X开头:0x9a, -0X89
-
关于Python整数,就需要知道这些。
• 整数无限制 pow()
• 4种进制表示形式
浮点数类型
与数学中实数的概念一致
- 带有小数点及小数的数字
- 浮点数取值范围和小数精度都存在限制,但常规计算可忽略
- 取值范围数量级约-10^307至10^308,精度数量级10^-16
-
浮点数间运算存在不确定尾数,不是bug
>>> 0.1 + 0.3 0.4 >>> 0.1 + 0.2 0.30000000000000004
不确定尾数
0.1 0.00011001100110011001100110011001100110011001100110011010 (二进制表示)
0.1000000000000000055511151231257827021181583404541015625 (十进制表示)
53位二进制表示小数部分,约10^-16
0.1 + 0.2
二进制表示小数,可以无限接近,但不完全相同 结果无限接近0.3,但可能存在尾数
浮点数间运算存在不确定尾数
>>> 0.1 + 0.2 == 0.3
False
>>> round(0.1+0.2, 1) == 0.3
True
- round(x, d):对x四舍五入,d是小数截取位数
- 浮点数间运算与比较用round()函数辅助
- 不确定尾数一般发生在10-16左右,round()十分有效
-
浮点数可以采用科学计数法表示:
- 使用字母e或E作为幂的符号,以10为基数,格式如下: <a>e<b> 表示 a*10b
- 例如:4.3e-3 值为0.0043 9.6E5 值为960000.0
-
关于Python浮点数,需要知道这些。
• 取值范围和精度基本无限制
• 运算存在不确定尾数 round() • 科学计数法表示
复数类型
与数学中复数的概念一致
如果x2 = -1,那么x的值是什么?
- 定义 j = −𝟏 ,以此为基础,构建数学体系
- a+bj 被称为复数,其中,a是实部,b是虚部
z = 1.23e-4+5.6e+89j
- 实部是什么? z.real 获得实部 - 虚部是什么? z.imag 获得虚部
数字类型的关系
类型间可进行混合运算,生成结果为"最宽"类型
- 三种类型存在一种逐渐"扩展"或"变宽"的关系: 整数 -> 浮点数 -> 复数
- 例如:123 + 4.0 = 127.0 (整数+浮点数 = 浮点数)
数字类型及操作
- 整数类型的无限范围及4种进制表示
- 浮点数类型的近似无限范围、小尾数及科学计数法
- +、-、*、/、//、%、**、二元增强赋值操作符
- abs()、divmod()、pow()、round()、max()、min()
- int()、float()、complex()