Python中的可变对象和不可变对象是Python编程的两个重要概念。可变对象是指在程序运行过程中,对象的值可以被改变的对象;而不可变对象是指在程序运行过程中,对象的值不可以被改变的对象。
可变对象
可变对象是指在程序运行过程中,对象的值可以被改变的对象,常见的可变对象有:列表(list)、字典(dict)、集合(set)等。例如:
list1 = [1, 2, 3] list1[1] = 4 print(list1) # [1, 4, 3]
从上面的代码可以看出,通过索引将list1中的2改为4,即完成了对列表list1的修改,这就是可变对象的特点。
不可变对象
不可变对象是指在程序运行过程中,对象的值不可以被改变的对象,常见的不可变对象有:数值(int、float)、字符串(str)、元组(tuple)等。例如:
str1 = "Hello World" str1[1] = "a" print(str1) # TypeError: 'str' object does not support item assignment
从上面的代码可以看出,尝试通过索引将字符串str1中的"e"改为"a",但是报错了,这就是不可变对象的特点。
可变对象和不可变对象的区别
- 可变对象的值可以在程序运行过程中被改变,而不可变对象的值不能被改变。
- 可变对象在改变后,不会影响其他变量的值,而不可变对象在改变后,会影响其他变量的值。
- 可变对象可以被作为参数传递给函数,而不可变对象不能被作为参数传递给函数。
- 可变对象可以被作为字典的键值,而不可变对象不能被作为字典的键值。
以上就是。