一、可变类型
值变内存地址不变
二、不可变类型
值变内存地址一定变
问题:
Python中可变类型和不可变类型的讲一下
回答:
Python中的可变类型指的是在创建后可以修改其值的数据类型,例如列表、字典、集合等。这些类型的值可以被修改、添加或删除元素,而不会改变它们的标识符。
不可变类型是指在创建后不能修改其值的数据类型,例如整数、浮点数、布尔值、字符串、元组等。这些类型的值一旦被创建就不能被修改,如果需要修改它们的值,只能通过重新创建一个新的对象来实现。
在Python中,可变类型和不可变类型的主要区别在于它们的赋值和传递方式。对于可变类型,赋值和传递都是引用传递,也就是说,当一个可变类型变量被赋值或传递给一个函数时,实际上是传递了它的引用,如果修改了这个引用所指向的对象,那么原来的变量也会受到影响。而对于不可变类型,赋值和传递都是值传递,也就是说,当一个不可变类型变量被赋值或传递给一个函数时,实际上是传递了它的值的副本,如果修改了这个副本,原来的变量不会受到影响。
例如:
a = [1, 2, 3] # a是一个可变类型变量
b = a # 将a赋值给b
b.append(4) # 修改b所指向的对象
print(a) # 输出[1, 2, 3, 4]
x = 1 # x是一个不可变类型变量
y = x # 将x赋值给y
y += 1 # 修改y的值
print(x) # 输出1
在第一个例子中,将a赋值给b后,b和a指向同一个对象,因此修改b所指向的对象也会改变a所指向的对象。而在第二个例子中,由于x是一个不可变类型变量,将x赋值给y后,y实际上是x的值的副本,修改y的值并不会改变x的值。
标签:不可,传递,修改,可变,类型,赋值 From: https://www.cnblogs.com/almira998/p/17262549.html