1. 数据类型概述
Python作为动态类型语言,虽然不需要显式声明变量类型,但理解数据类型对编写高效代码至关重要。Python内置数据类型可分为:
-
数值型:int, float, complex
-
序列型:str, list, tuple
-
映射型:dict
-
集合型:set, frozenset
-
布尔型:bool
-
空类型:NoneType
2. 基础数据类型详解
2.1 数值类型
# 整型(int)
age = 25
print(type(age)) # <class 'int'>
# 浮点型(float)
price = 19.99
print(type(price)) # <class 'float'>
# 复数(complex)
z = 3 + 4j
print(z.real) # 实部 3.0
print(z.imag) # 虚部 4.0
2.2 字符串(str)
text = "Hello Python!"
multi_line = """这是
多行
字符串"""
# 常用操作
print(text[0]) # H (索引)
print(len(text)) # 13 (长度)
print("Py" in text) # True (包含检查)
2.3 布尔型(bool)
is_active = True
is_admin = False
# 布尔运算
print(5 > 3) # True
print(not True) # False
3. 复合数据类型
3.1 列表(list) - 可变序列
fruits = ["apple", "banana", "cherry"]
fruits.append("orange") # 添加元素
print(fruits[1:3]) # 切片 ['banana', 'cherry']
3.2 元组(tuple) - 不可变序列
colors = ("red", "green", "blue")
# colors[0] = "yellow" # 报错!元组不可变
3.3 字典(dict) - 键值对集合
user = {
"name": "Alice",
"age": 30,
"is_vip": True
}
print(user.get("name")) # Alice
3.4 集合(set) - 唯一元素集合
unique_nums = {1, 2, 3, 2} # 自动去重
print(unique_nums) # {1, 2, 3}
4. 特殊类型
4.1 None类型
result = None
if result is None: # 推荐使用is判断None
print("结果未设置")
5. 类型转换与检查
# 类型转换
num_str = "123"
num_int = int(num_str)
# 类型检查
print(isinstance(3.14, float)) # True
6. 数据类型内存特性对比
类型 | 可变性 | 有序性 | 重复性 | 示例 |
---|---|---|---|---|
list | 可变 | 有序 | 允许 | [1,2,2] |
tuple | 不可变 | 有序 | 允许 | (1,2,2) |
dict | 可变 | 无序 | 键不可重复 | {"a":1} |
set | 可变 | 无序 | 元素唯一 | {1,2} |
7. 实战技巧
-
列表推导式快速生成数据:
squares = [x**2 for x in range(5)] # [0, 1, 4, 9, 16]
-
字典合并(Python 3.9+):
dict1 = {"a": 1}
dict2 = {"b": 2}
merged = dict1 | dict2 # {'a': 1, 'b': 2}
-
集合运算:
A = {1, 2, 3}
B = {3, 4, 5}
print(A & B) # 交集 {3}
总结
掌握Python数据类型是编程基础,建议:
-
理解可变/不可变类型的区别
-
熟练使用类型转换方法
-
根据场景选择合适的数据结构
-
注意深浅拷贝问题(特别是list/dict)
小测试:以下代码输出什么?
mixed = [1, "two", [3], {"four": 4}]
print(type(mixed[3]))
欢迎在评论区留下你的答案和数据类型相关的问题!