40、可变类型、不可变类型

小白量化 2025-12-09 16:46:15 28 举报

1、可变类型
1.1 含义
存储空间保存的数据允许被修改,这种数据就是可变类型数据。

1.2 常见的可变类型
(1)list 列表

# 示例
li = [1, 2, 3]
print(id(li))
# 修改操作
li.append(4)
print(id(li))
print(li)

(2)dict 字典

# 示例
dic = {"a": 1, "b": 5, "c": 3}
print(id(dic))
dic['b'] = 2
print(id(dic))
print(dic)

(3)set 集合

# 示例
s = {1, 2, 3, 4}
print(id(s))
s.remove(4)
print(id(s))
print(s)

变量对应的值可以变化,但是内存地址保持不变,这就是可变类型数据


2、不可变类型
2.1 含义
存储空间保存的数据不允许被修改,这种数据就是不可变类型数据。

2.2 常见的不可变类型
(1) 数值类型:int 整型  float 浮点型  bool 布尔型  complex 复数型

# 示例
num = 10
print(id(num))
num = 15
print(id(num))
print(num)

(2)str 字符串

# 示例
st = "xiaobai"
print(id(st))
st = st.replace("b", "B")
print(id(st))
print(st)

(3)tuple 元组

# 示例
tup = (1, 2, 3)
print(id(tup))
# 元组不支持修改操作
tup = (1, 2, 3, 4)
print(tup)
print(id(tup))

一旦变量的值发生变化,就会触发新值的创建,并分配新的内存地址来存储这个新的值。变量的值变化,内存地址跟着一起变化,这就是不可变类型的数据

注意:如果原对象是不可变类型,那么深浅拷贝在行为上是没有区别的,因为不可变对象不能被修改。所以对于不可变类型而言,深浅拷贝无意义。

量化小白,从0开始学量化! 1

著作权归文章作者所有。 未经作者允许禁止转载!

最新回复 ( 0 )
发新帖
0