Python可变类型与不可变类型
- 可变类型有list、dict、set等。不可变类型有str、tuple等。
- 当进行修改操作时,可变类型传递的是内存中的地址。也就是说,直接修改内存中的值,并没有开辟新的内存。
- 不可变类型被修改时,并没有改变原内存地址中的值,而是开辟一块新的内存,将原地址中的值复制过去,对这块新开辟的内存中的值进行操作。
对不可变类型的修改
代码中对不可变数据的修改会导致代码不会正常运行,并抛出TypeError异常。
- 可变类型有list、dict、set等。不可变类型有str、tuple等。
- 当进行修改操作时,可变类型传递的是内存中的地址。也就是说,直接修改内存中的值,并没有开辟新的内存。
- 不可变类型被修改时,并没有改变原内存地址中的值,而是开辟一块新的内存,将原地址中的值复制过去,对这块新开辟的内存中的值进行操作。
代码中对不可变数据的修改会导致代码不会正常运行,并抛出TypeError异常。