Power
数值/字符串/列表/字典
下面我们详细介绍 Python 中的数值类型(Numbers)、字符串(String)、列表(List) 和字典(Dictionary),这四类容器是 Python 中最常用的,也是基础中的基础。
1. 数值类型(Numbers)
数值类型是处理数学计算的基础,核心包括 int(整数)、float(浮点数)、bool(布尔值,本质是特殊的整数)。
1.1 核心特性
- 不可变:赋值后不能修改本身(如
a=10,修改a其实是重新赋值); - 支持所有基础数学运算和比较运算。
1.2 常用操作
python
# 1. 整数 & 浮点数
a = 20 # int
b = 3.14 # float
c = a + b # 混合运算,结果为float:23.14
d = a * 2 # 40(int)
e = a ** 2 # 幂运算:400
f = 10 // 3 # 整除:3(保留整数部分)
g = 10 % 3 # 取余:1(常用在判断奇偶、循环间隔)
# 2. 布尔值(True=1,False=0)
h = True
i = False
print(h + 5) # 6(True等价于1)
print(i * 10) # 0(False等价于0)
# 3. 类型转换(新手高频使用)
num_str = "123"
num_int = int(num_str) # 字符串转整数:123
num_float = float(num_int) # 整数转浮点数:123.01.3 实用场景
- 整数:计数、编号、状态标识(如 0=失败,1=成功);
- 浮点数:金额、身高、体重等带小数的数值;
- 布尔值:条件判断(如
if flag:)。
2. 字符串(String)
字符串是字符的有序序列,用 ''/""/""" """ 包裹,不可变(不能直接修改某个字符)。
2.1 核心特性
- 有序:支持索引、切片(按位置取值);
- 不可变:修改字符串本质是生成新字符串;
- 支持丰富的内置方法(无需记全,记高频即可)。
2.2 高频操作
python
s = "Hello Python"
# 1. 索引 & 切片(最核心)
# 索引:从0开始,负数表示从末尾倒数
print(s[0]) # H(第1个字符)
print(s[-1]) # n(最后1个字符)
# 切片:语法 s[起始:结束:步长],左闭右开
print(s[:5]) # Hello(取前5个,起始默认0)
print(s[6:]) # Python(从第7个取到末尾)
print(s[::2]) # HloPto(步长2,隔一个取一个)
# 2. 常用内置方法(新手必记)
print(s.lower()) # hello python(转小写)
print(s.upper()) # HELLO PYTHON(转大写)
print(s.strip()) # 去除首尾空格(处理用户输入时常用)
print(s.split(" ")) # ['Hello', 'Python'](按空格分割成列表)
print(s.replace("Python", "World")) # Hello World(替换字符)
print(len(s)) # 11(获取字符串长度)
# 3. 字符串拼接 & 格式化(高频实用)
# 拼接(效率低,少量拼接可用)
s1 = "你好" + "世界" # 你好世界
# f-string格式化(Python3.6+推荐,简洁高效)
name = "小明"
age = 20
s2 = f"姓名:{name},年龄:{age},明年{age+1}岁"
print(s2) # 姓名:小明,年龄:20,明年21岁3. 列表(List)
列表是有序、可变的容器,用 [] 表示,可存放任意类型数据(数字、字符串、列表等),是 Python 最常用的容器。
3.1 核心特性
- 有序:支持索引、切片;
- 可变:可直接增、删、改元素;
- 可嵌套:列表里可以放列表(如二维列表)。
3.2 高频操作
python
# 初始化列表
lst = [1, "苹果", True, [10, 20]] # 支持混合类型、嵌套
# 1. 增(添加元素)
lst.append(3.14) # 末尾添加:[1, '苹果', True, [10,20], 3.14]
lst.insert(1, "香蕉") # 指定位置插入:[1, '香蕉', '苹果', True, [10,20], 3.14]
lst.extend([5,6]) # 批量添加(合并列表):[1, '香蕉', '苹果', True, [10,20], 3.14,5,6]
# 2. 删(删除元素)
lst.remove("苹果") # 按值删除(删第一个匹配的)
del lst[0] # 按索引删除
lst.pop() # 删除最后一个元素(返回删除的值)
# 3. 改(修改元素)
lst[2] = "橙子" # 直接通过索引赋值
# 4. 查(查找元素)
print(lst[3]) # 按索引取值
print("香蕉" in lst) # 判断是否存在:True
print(lst.index("香蕉"))# 找索引:1
print(len(lst)) # 获取长度
# 5. 其他实用操作
lst.sort() # 排序(仅同类型可排序,如纯数字列表)
lst.reverse() # 反转列表4. 字典(Dictionary)
字典是无序(Python3.7+有序)、可变的键值对容器,用 {key: value} 表示,通过“键”快速查找“值”(比列表查找快)。
4.1 核心特性
- 键(key):唯一、不可变(只能是字符串/数字/元组);
- 值(value):任意类型(可重复);
- 键值对:一一对应,通过 key 找 value,效率极高。
4.2 高频操作
python
# 初始化字典
person = {
"name": "小明",
"age": 20,
"hobbies": ["打球", "看书"], # 值可以是列表
"score": {"语文": 90, "数学": 85} # 支持嵌套字典
}
# 1. 查(取值,最核心)
print(person["name"]) # 小明(直接用key取值,key不存在会报错)
print(person.get("age")) # 20(推荐用get,key不存在返回None,不报错)
print(person.get("gender", "未知")) # 未知(key不存在时返回默认值)
# 2. 增/改(key存在则改,不存在则增)
person["gender"] = "男" # 新增键值对
person["age"] = 21 # 修改age的值
# 3. 删(删除键值对)
del person["score"] # 按key删除
person.pop("hobbies") # 按key删除(返回对应值)
# 4. 遍历字典(高频)
# 遍历所有key
for key in person.keys():
print(key) # name, age, gender
# 遍历所有value
for value in person.values():
print(value) # 小明, 21, 男
# 遍历键值对(最常用)
for key, value in person.items():
print(f"{key}: {value}")5. 总结
这四类核心数据类型的关键要点:
- 数值:不可变,聚焦数学运算和类型转换,布尔值是特殊整数(True=1,False=0);
- 字符串:不可变、有序,核心是索引/切片/格式化,常用 strip()/split()/replace()等方法;
- 列表:可变、有序,支持增删改查,是最通用的容器,适合按顺序存储数据;
- 字典:键值对结构,通过 key 快速取值,适合存储有明确映射关系的数据(如用户信息、配置项)。