通用类型种类——能被就地修改的可变对象 | 第二部分 类型与操作 —— 第 7 章: 字符串基础 |《学习 python:强大的面向对象编程(第 5 版)》| python 技术论坛-大发黄金版app下载
不可变的分类是需要知道的一个重要限制,然而它往往让新手犯错。如果对象类型不可变,就不能就地修改其值;如果尝试修改,python会报错。相反,必须运行代码来创建一个包含新值的新对象。python中主要核心类型分类如下:
不可变(数字、字符串、元组、冻结的sets)
不可变类别中的对象类型不支持就地修改,然而总是可以运行表达式来创建新对象并将其结果按需分配给变量。
可变(列表、字典、sets、字节数组)
相反地,总是可以使用不创建新对象的操作来就地修改可变类型。虽然这些对象可以被拷贝,但就地修改支持直接修改。
一般地,不可变对象通过保证对象不会被程序的另一部分修改来给出一定程度的完整性。要复习这个为何重要,请参见第6章中共享的对象引用的讨论。要了解列表、字典和元组是如何参与类型类别的,需要前进到下一章。