更新时间: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也被修改了
我们可以看到,对于不可变数据类型,赋值给另一个变量后,对原变量的修改不会影响到另一个变量;而对于可变数据类型,赋值给另一个变量后,对原变量的修改会影响到另一个变量。
【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【AI大模型开发-Python】毕业33个工作日,就业率已达到94.55%,班均薪资20763元
2025-09-19【AI智能应用开发-Java】毕业5个工作日就业率98.18%,最高薪资 17.5k*13薪,全班平均薪资9244元
2025-09-19