python基础数据类型
核心分类如下类型大类具体类型核心特性示例标量类型整数int无大小限制支持正负、进制a 10、b 0b101二进制浮点数float双精度浮点存在精度问题c 3.14、d 1.2e3布尔值bool仅True/False本质是 1/0flag True字符串str不可变字符序列支持单 双 三引号s Python、s 多行容器类型列表list可变有序序列可存任意类型lst [1, a, [2,3]]元组tuple不可变有序序列可存任意类型tup (1, b, True)字典dict可变键值对集合键唯一且不可变dic {name: Tom, age: 20}集合set可变无序不重复集合无索引st {1, 2, 3}二、标量类型详解1. 整数int特性支持十进制、二进制0b、八进制0o、十六进制0x无大小限制Python 3 统一为 int无 long 类型。常用操作python运行展开代码语言TXT自动换行AI代码解释a 10 b -5 c 0b110 # 二进制等价于 6 d 0xff # 十六进制等价于 255 # 算术运算 print(a b) # 5 print(a * 3) # 30 print(a % 3) # 取模1 print(a **2) # 幂运算1002. 浮点数float特性基于 IEEE 754 标准存在精度误差如0.1 0.2 ≠ 0.3可用科学计数法表示。注意事项精度问题可通过decimal模块解决python运行代码语言TXT自动换行AI代码解释print(0.1 0.2) # 0.30000000000000004精度误差 from decimal import Decimal print(Decimal(0.1) Decimal(0.2)) # 0.3精确3. 布尔值bool特性True等价于 1False等价于 0可参与算术运算也可通过bool()转换其他类型。真值判断Python 中「空 / 零」为False其余为Truepython运行展开代码语言TXT自动换行AI代码解释print(bool(0)) # False print(bool()) # False print(bool([])) # False print(bool(100)) # True # 布尔运算 print(True and False) # False逻辑与 print(True or False) # True逻辑或 print(not True) # False逻辑非4. 字符串str核心特性不可变修改需生成新字符串支持索引、切片、拼接、格式化。常用操作python运行展开代码语言TXT自动换行AI代码解释s Hello Python # 索引从 0 开始支持负索引 print(s[0]) # H print(s[-1]) # n最后一个字符 # 切片[起始:结束:步长]左闭右开 print(s[0:5]) # Hello print(s[6:]) # Python print(s[::-1]) # nohtyP olleH反转 # 拼接与重复 print(s !) # Hello Python! print(a * 3) # aaa # 格式化三种方式 name Tom age 20 print(姓名%s年龄%d % (name, age)) # 旧式格式化 print(姓名{}年龄{}.format(name, age)) # format 格式化 print(f姓名{name}年龄{age}) # f-stringPython 3.6推荐 # 常用方法 print(s.lower()) # 转小写hello python print(s.strip()) # 去除首尾空格无参数 print(s.split( )) # 按空格分割[Hello, Python]三、容器类型详解1. 列表list核心特性可变、有序、可存任意类型包括嵌套列表用[]定义索引访问。常用操作python运行展开代码语言TXT自动换行AI代码解释lst [1, a, True, [2, 3]] # 索引与切片同字符串 print(lst[1]) # a print(lst[3][0]) # 2嵌套索引 # 增删改 lst.append(4) # 尾部添加[1, a, True, [2,3], 4] lst.insert(1, b)# 指定位置插入[1, b, a, True, [2,3], 4] lst.remove(a) # 删除指定元素 lst.pop(0) # 删除指定索引元素默认最后一个 lst[2] False # 修改元素[1, b, False, [2,3], 4] # 其他方法 print(len(lst)) # 长度5 print(lst.index(b)) # 查找元素索引1 lst.sort() # 排序仅同类型可排序 lst.reverse() # 反转2. 元组tuple核心特性不可变创建后无法修改元素、有序、可存任意类型用()定义单个元素需加逗号(1,)。适用场景存储不可变数据如坐标、配置项可作为字典的键。常用操作python运行展开代码语言TXT自动换行AI代码解释tup (1, b, True) tup_empty () # 空元组 tup_single (5,) # 单个元素元组必须加逗号 # 索引与切片同列表 print(tup[2]) # True # 不可变特性以下代码报错 # tup[0] 10 # TypeError: tuple object does not support item assignment # 常用方法 print(len(tup)) # 3 print(tup.count(b)) # 统计元素出现次数1 print(tup.index(True)) # 查找元素索引23. 字典dict核心特性可变、无序Python 3.7 保留插入顺序、键值对结构键必须是不可变类型str/int/tuple值可任意用{}定义。常用操作python运行展开代码语言TXT自动换行AI代码解释dic {name: Tom, age: 20, gender: male} # 访问值两种方式 print(dic[name]) # Tom print(dic.get(age)) # 20 print(dic.get(height, 180)) # 无键时返回默认值180 # 增删改 dic[height] 175 # 添加/修改键值对 del dic[gender] # 删除键值对 dic.pop(age) # 删除并返回值 # 遍历 for k in dic.keys(): # 遍历键 print(k) for v in dic.values(): # 遍历值 print(v) for k, v in dic.items(): # 遍历键值对 print(k, v)4. 集合set核心特性可变、无序、无重复元素用{}定义空集合需用set()而非{}支持集合运算交 并 差。适用场景去重、数据交集 / 并集计算。常用操作python运行展开代码语言TXT自动换行AI代码解释st {1, 2, 2, 3} # 自动去重{1,2,3} st_empty set() # 空集合 # 增删 st.add(4) # 添加元素{1,2,3,4} st.remove(2) # 删除元素不存在则报错 st.discard(5) # 删除元素不存在不报错 # 集合运算 st1 {1,2,3} st2 {3,4,5} print(st1 st2) # 交集{3} print(st1 | st2) # 并集{1,2,3,4,5} print(st1 - st2) # 差集{1,2}四、类型转换Python 提供内置函数实现类型转换核心函数如下python运行展开代码语言TXT自动换行AI代码解释# 转整数 print(int(10)) # 10 print(int(3.9)) # 3向下取整 # 转浮点数 print(float(5)) # 5.0 print(float(3.14))# 3.14 # 转字符串 print(str(100)) # 100 print(str([1,2])) # [1, 2] # 转列表/元组/集合 print(list(abc)) # [a,b,c] print(tuple([1,2])) # (1,2) print(set([1,1,2])) # {1,2}五、核心要点总结Python 是动态类型语言变量类型由赋值决定无需声明标量类型int/float/bool/str是单个值容器类型list/tuple/dict/set存储多个值不可变类型str、int、float、bool、tuple修改需生成新对象可变类型list、dict、set可直接修改内部元素字符串 列表 元组支持索引和切片字典按键访问集合无索引集合和字典的键要求是「不可变类型」核心作用是去重和快速查找。