本章概述
方法论
- Python数字及字符串类型
实践能力
- 初步学会编程进行字符类操作
第3章 基本数据类型
- 3.1 数字类型及操作
- 3.2 实例3: 天天向上的力量
- 3.3 字符串类型及操作
- 3.4 模块2: time库的使用
- 3.5 实例4: 文本进度条
3.1 数字类型及操作
一、整数类型
1、与数学中整数的概念一致
- 可正可负,没有取值范围限制
- pow(x,y)函数:计算 x y ,想算多大算多大
>>> pow(2,100)
1267650600228229401496703205376
>>> pow(2,pow(2,15))
1415461031044954789001553……
2、4种进制表示形式
- 十进制:1010, 99, -217
- 二进制,以0b或0B开头:0b010, -0B101
- 八进制,以0o或0O开头:0o123, -0O456
- 十六进制,以0x或0X开头:0x9a, -0X89
- 整数取值无限制
二、浮点数类型
1、与数学中实数的概念一致
- 带有小数点及小数的数字
- 浮点数取值范围和小数精度都存在限制,但常规计算可忽略
- 取值范围数量级约-10 ^307 至10 ^308 ,精度数量级10 ^-16
2、浮点数间运算存在不确定尾数,不是bug
不确定尾数的原因:小数部分:二进制与十进制没有严格的一一对等关系
那么如何避免不确定尾数给判断或计算带来的不必要麻烦呢?
如:
>>> 0.1 + 0.2 == 0.3
False
上面的这种判断语句很可能会被程序判断为FALSE
但是
>>> round(0.1+0.2, 1) == 0.3
True
这样,就可以避免了。
3、浮点数间运算存在不确定尾数
round(x, d):对x四舍五入,d是小数截取位数
- 浮点数间运算与比较用round()函数辅助
- 不确定尾数一般发生在10^ -16 左右,round()十分有效
4、浮点数可以采用科学计数法表示
- 使用字母e或E作为幂的符号,以10为基数,格式如下:
<a>e<b> 表示 a*10 ^b
- 例如:4.3e-3 值为0.0043 9.6E5 值为960000.0
三、复数类型
1、与数学中复数的概念一致
2、复数实例
z = 1.23e-4+5.6e+89j
- 实部是什么? z.real 获得实部
- 虚部是什么? z.imag 获得虚部
四、数值运算操作符
1、操作符是完成运算的一种符号体系
2、二元操作符有对应的增强赋值操作符
3、数字类型的关系
类型间可进行混合运算,生成结果为"最宽"类型
- 三种类型存在一种逐渐"扩展"或"变宽"的关系:
整数 -> 浮点数 -> 复数
- 例如:123 + 4.0 = 127.0 (整数+浮点数 = 浮点数)
五、数值运算函数
1、一些以函数形式提供的数值运算功能
abs(x) divmod(x,y) poe(x,y[,z]) round(x[, d]) max(x 1 ,x 2 , … ,x n ) min(x 1 ,x 2 , … ,x n ) int(x) float(x) complex(x)