更新时间: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也被修改了
我们可以看到,对于不可变数据类型,赋值给另一个变量后,对原变量的修改不会影响到另一个变量;而对于可变数据类型,赋值给另一个变量后,对原变量的修改会影响到另一个变量。