在Python中,不可变对象指的是那些一旦创建后其内容就不能被改变的对象。以下是不可变对象的类型:
1. `int`:整数类型,例如 `a = 10`,一旦创建,其值不能改变。
2. `float`:浮点数类型,例如 `b = 3.14`,创建后其值同样不能改变。
3. `str`:字符串类型,例如 `c = "hello"`,创建后其内容不能被修改。
4. `tuple`:元组类型,例如 `d = (1, 2, 3)`,创建后其内容同样不能被修改。
不可变对象的特点是,如果你尝试修改它们,Python会创建一个新的对象,并将变量重新指向这个新对象。这意味着,对于不可变对象,变量的引用(内存地址)在对象内容改变时会改变。
举个例子,如果你有一个整数 `a`,当你对它进行加法赋值操作 `a += 1` 时,Python会创建一个新的整数对象来存储新的值,并将变量 `a` 的引用指向这个新对象,而原来的对象 `a` 就会被垃圾回收器回收。
需要注意的是,虽然元组在表面上看起来可以包含可变对象(如列表),但元组本身是不可变的,这意味着元组中的元素(即使是列表)也不能被修改。
希望这能帮助你理解Python中不可变对象的概念