Python最常用数据类型是数字、字符串、列表:数字含int/float/complex,注意浮点精度与类型差异;字符串不可变,需关注编码与切片特性;列表可变,注意引用传递与深浅拷贝。

Python里最常用的数据类型就这三类:数字、字符串、列表——它们不是孤立的,而是经常互相转换、协同工作。理解它们各自的特性、边界和常见陷阱,比死记语法更重要。
数字类型:int、float、complex,别让隐式转换坑了你
Python的数字分三种:整数(int)、浮点数(float)、复数(complex)。注意:int没有大小限制(不像C里的int32),但float遵循IEEE 754标准,存在精度问题。
- 0.1 + 0.2 != 0.3 是浮点误差,不是bug,用decimal.Decimal或round(x, 2)处理业务中的金额计算
- type(5) 返回 int,type(5.0) 返回 float,哪怕数值相同,类型不同会影响函数行为(比如math.sqrt(-1)报错,但cmath.sqrt(-1)返回1j)
- 整数除法//向下取整,负数时容易出乎意料:-7 // 3 == -3(不是-2),建议用int(-7 / 3)按截断取整
字符串:不可变序列,索引切片是基础,编码才是真门槛
字符串是字符组成的不可变序列。看似简单,但编码问题和转义逻辑常导致读写失败或乱码。
- 定义用单引号、双引号、三引号都行,但f-string(f"")是Python 3.6+推荐的格式化方式,比.format()和%s更直观高效
- s[1:4]切片不包含末尾索引,s[::-1]可反转字符串;但s[10]越界会报IndexError,而s[10:15]返回空字符串,不会报错
- 文件读写默认用系统编码(Windows常是gbk),若文件是UTF-8却没指定encoding='utf-8',就会解码失败;网络请求返回的bytes需显式调用.decode('utf-8')
列表:动态数组的核心,别只当“可变字符串”用
列表是Python最灵活的内置容器,但它的“可变性”和“引用传递”特性,常引发隐蔽错误。
立即学习“Python免费学习笔记(深入)”;










