更新时间:2023-05-15 来源:黑马程序员 浏览量:

在Python中,数据类型分为可变和不可变两种类型。简单来说,可变数据类型是可以在原地修改的,而不可变数据类型则不能直接修改,只能通过重新创建一个新的对象来实现修改。
下面是一些常见的Python数据类型,以及它们是可变还是不可变的:
  可以通过一些简单的代码演示来说明可变和不可变数据类型的区别:
# 不可变数据类型
a = 5
b = a
a = a + 1
print(a)  # 输出 6
print(b)  # 输出 5,b并没有被修改
s1 = "hello"
s2 = s1
s1 = s1 + " world"
print(s1)  # 输出 "hello world"
print(s2)  # 输出 "hello",s2并没有被修改
t1 = (1, 2, 3)
t2 = t1
# 尝试修改元组
# t1[0] = 4  # 这行代码会抛出 TypeError 异常,因为元组是不可变的
# 可变数据类型
lst1 = [1, 2, 3]
lst2 = lst1
lst1.append(4)
print(lst1)  # 输出 [1, 2, 3, 4]
print(lst2)  # 输出 [1, 2, 3, 4],lst2也被修改了
d1 = {"name": "Alice", "age": 30}
d2 = d1
d1["age"] = 31
print(d1)  # 输出 {"name": "Alice", "age": 31}
print(d2)  # 输出 {"name": "Alice", "age": 31},d2也被修改了我们可以看到,对于不可变数据类型,赋值给另一个变量后,对原变量的修改不会影响到另一个变量;而对于可变数据类型,赋值给另一个变量后,对原变量的修改会影响到另一个变量。
1024首播|39岁程序员逆袭记:不被年龄定义,AI浪潮里再迎春天
2025-10-241024程序员节丨10年同行,致敬用代码改变世界的你
2025-10-24【AI设计】北京143期毕业仅36天,全员拿下高薪offer!黑马AI设计连续6期100%高薪就业
2025-09-19【跨境电商运营】深圳跨境电商运营毕业22个工作日,就业率91%+,最高薪资达13500元
2025-09-19【AI运维】郑州运维1期就业班,毕业14个工作日,班级93%同学已拿到Offer, 一线均薪资 1W+
2025-09-19【AI鸿蒙开发】上海校区AI鸿蒙开发4期5期,距离毕业21天,就业率91%,平均薪资14046元
2025-09-19