
可变对象的定义可变对象Mutable Object指的是在内存中创建后其内容可以被修改的对象修改操作不会改变对象的身份内存地址而是直接更新其内存数据Python中的可变对象类型类型 说明 典型修改操作列表list 有序可重复元素可修改 append()insert()del字典dict 键值对映射键唯一且不可变 update()pop()新增键值对集合set 无序元素唯一且不可变 add()remove()discard()自定义类示例 用户定义的对象 修改实例属性可变对象的核心特性1.修改不修改身份2.通过引用传递函数传递可变对象时传递的是对象的引用而非拷贝修改会影响外部变量3.默认参数陷阱函数定义中使用可变对象作为默认参数时默认参数会被所有调用共享正确做法用None作为默认值在函数内部初始化可变对象的内存管理1.动态扩容列表和字典会根据数据量自动调整内存大小避免频繁分配内存2.共享引用的风险多个变量引用同一个可变对象时修改会互相影响注意事项1.不可变对象的伪装例如元组本身不可变但如果包含可变对象如列表内部可变对象仍可修改2.线程安全问题多个线程同时修改可变对象时需加锁避免数据竞争不可变数据天然线程安全