Python数据类型
好的,这是一个更加详尽的数据类型表格,补充了遍历、访问和类型转换的方法。
Python 内置数据类型详解表(增强版)
| 类型 (Type) | 分类 | 特点 (Characteristics) | 定义 (Definition) | 访问 (Access) | 遍历 (Iteration) | 类型转换 (Conversion) | 使用示例 (Usage Examples) |
|---|---|---|---|---|---|---|---|
int |
数字类型 | 整数,可以是正数、负数或零。支持任意大的整数。 | variable = 整数值 |
- (数字本身) | - (不是序列) | int(x) |
x = 42``y = -17``z = int("123") # 从字符串转 |
float |
数字类型 | 浮点数,即带有小数点的数字。存在精度限制。 | variable = 浮点数值 |
- (数字本身) | - (不是序列) | float(x) |
a = 3.14``b = float(5) # 从整数转``c = float("3.14") |
complex |
数字类型 | 复数,由实部和虚部组成。 | variable = 实部 + 虚部j |
.real, .imag 属性 |
- (不是序列) | complex(real, imag) |
z = 3 + 4j``print(z.real) # 3.0``print(z.imag) # 4.0 |
bool |
数字类型 | 布尔值,只有 True 和 False。 |
variable = True / False |
- (布尔值本身) | - (不是序列) | bool(x) |
is_valid = True``is_empty = bool([]) # False |
str |
序列类型 | 字符串,不可变的字符序列。 | variable = "双引号"``variable = '单引号' |
s[index] (索引)s[start:end:step] (切片) |
for char in s: |
str(x) |
name = "Alice"``first_char = name[0] # 'A'``substring = name[1:3] # 'li'``for c in name: print(c)``num_str = str(123) |
bytes |
序列类型 | 字节序列,不可变。 | variable = b'字面值'``variable = bytes(...) |
b[index] (索引)b[start:end:step] (切片) |
for byte in b: |
bytes(x), x.encode() |
data = b"hello"``first_byte = data[0] # 104 (ASCII码)``for b in data: print(b)``encoded = "str".encode() |
list |
序列类型 | 可变的有序列表。 | variable = [元素1, 元素2, ...] |
l[index] (索引)l[start:end:step] (切片) |
for item in l: |
list(x) |
numbers = [1, 2, 3, 4]``first = numbers[0]``slice = numbers[1:3]``for n in numbers: print(n)``from_tuple = list((1,2)) # [1, 2] |
tuple |
序列类型 | 不可变的有序列表。 | variable = (元素1, 元素2, ...) |
t[index] (索引)t[start:end:step] (切片) |
for item in t: |
tuple(x) |
coordinates = (10, 20)``x = coordinates[0]``for coord in coordinates: print(coord)``from_list = tuple([1,2]) # (1, 2) |
dict |
映射类型 | 存储键值对,可变。 | variable = {key1: value1, ...} |
d[key]``d.get(key) |
for key in d:``for key, value in d.items(): |
dict(...) |
student = {"name": "Bob", "age": 25}``name = student["name"]``age = student.get("age")``for k in student: print(k)``for k, v in student.items(): print(k, v)``from_pairs = dict([('a', 1), ('b', 2)]) |
set |
集合类型 | 可变的无序不重复元素集。 | variable = {元素1, 元素2, ...}``variable = set(...) |
- (不支持索引) | for item in s: |
set(x) |
unique_nums = {1, 2, 3}``for num in unique_nums: print(num)``from_list = set([1,2,2,3]) # {1, 2, 3} |
frozenset |
集合类型 | 不可变的无序不重复元素集。 | variable = frozenset(...) |
- (不支持索引) | for item in fs: |
frozenset(x) |
fs = frozenset([1, 2, 3])``for num in fs: print(num)``from_set = frozenset({1, 2, 3}) |
附录:常见类型转换规则
| 转换目标 | 可转换来源 | 备注 |
|---|---|---|
int(x) |
str, float, bool |
str 必须是合法的数字格式 |
float(x) |
str, int, bool |
str 必须是合法的数字格式 |
str(x) |
几乎所有类型 | 会返回对象的字符串表示形式 |
bool(x) |
几乎所有类型 | 0, 0.0, "", [], {}, set() 等会被转换为 False |
list(x) |
str, tuple, set, dict (键), range |
dict 会转换为键的列表 |
tuple(x) |
str, list, set, dict (键), range |
dict 会转换为键的元组 |
set(x) |
str, list, tuple, dict (键), range |
dict 会转换为键的集合 |
dict(x) |
[(k, v), ...] (键值对元组列表) |
传入键值对序列 |
附录:序列通用操作
str, list, tuple 都是序列,支持以下通用操作:
- 成员检查:
x in s,x not in s - 连接:
s1 + s2 - 重复:
s * n - 长度:
len(s) - 最小值/最大值:
min(s),max(s)(元素可比较时)

浙公网安备 33010602011771号