Python 是一种动态类型语言,变量类型在运行时自动确定,无需显式声明。以下是 Python 中核心变量类型的分类与用法详解:
一、基本数据类型
1. 数值类型
整数 (int)
支持正负数、零和二进制/八进制/十六进制表示:a = 42 b = 0o52 # 八进制 => 42 c = 0x2A # 十六进制 => 42
浮点数 (float)
支持科学计数法:pi = 3.14159 big_num = 1.2e6 # 1200000.0
复数 (complex)
由实部和虚部组成:c = 3 + 4j
2. 布尔型 (bool)
- 只有
True
和False
两个值 - 逻辑运算结果:
is_valid = (5 > 3) and (10 != 8) # True
3. 字符串 (str)
- 支持单引号、双引号、三引号:
s1 = 'Hello' s2 = "World" s3 = '''Multi-line string'''
- 不可变对象,常用操作:
text = "Python" print(text[0]) # 'P' (索引) print(text[1:4]) # 'yth' (切片) print("thon" in text) # True (成员检查)
二、复合数据类型
1. 列表 (list)
- 有序、可变、允许重复元素:
numbers = [1, 2, 3, 2] numbers.append(4) # 末尾添加 numbers[0] = 100 # 修改元素
2. 元组 (tuple)
- 有序、不可变、允许重复元素:
point = (3, 4) x, y = point # 解包赋值
3. 字典 (dict)
- 键值对存储,键唯一且不可变:
person = { "name": "Alice", "age": 30, "is_student": False } print(person["name"]) # 访问值 person["city"] = "Paris" # 添加新键值对
4. 集合 (set)
- 无序、唯一元素集合:
unique_nums = {1, 2, 2, 3} # 自动去重 => {1, 2, 3}
三、特殊类型
1. None 类型
- 表示空值或缺失值:
result = None # 初始未定义状态
2. 字节类型
bytes
:不可变字节序列bytearray
:可变字节序列data = b'Hello' # bytes mutable_data = bytearray(b'World')
3. 函数/方法
- 函数可作为一等公民传递:
def add(a, b): return a + b func_ref = add # 变量指向函数 print(func_ref(3, 5)) # 8
四、类型操作
1. 类型检查
type()
返回具体类型:print(type(42)) # <class 'int'>
isinstance()
检查继承关系:print(isinstance(3.14, float)) # True
2. 类型转换
- 显式转换函数:
num_str = "123" num = int(num_str) # 字符串转整数
五、动态类型特性
Python 变量可随时改变类型:
var = 42 # int 类型
var = "Python" # 变为 str 类型
var = [1, 2, 3] # 变为 list 类型
六、类型层级关系
object
├── int
├── float
├── complex
├── str
├── bool
├── list
├── tuple
├── dict
├── set
├── bytes
├── bytearray
├── NoneType
└── function
理解变量类型是编写高效 Python 代码的基础,合理选择数据类型可优化内存使用和执行效率。对于复杂场景,可结合 typing
模块进行类型注解(Python 3.5+)。