python 深浅拷贝 属性获取,垃圾回收

说下对python深浅拷贝的理解。并有代码简单实现

浅拷贝:浅拷贝是对于一个对象的顶层拷贝,拷贝了引用,并没有拷贝内容

深拷贝:深拷贝是对于一个对象所有层次的拷贝(递归)

只有一层深浅拷贝没区别:都是

1、如果是可变,地址不同

2、如果是不可变,地址相同

多层

深拷贝:

copy.deepcopy

1、如果所有层都是不可变的,所有层地址相同

2、如果有一个可变的,外层一定不同

3、如果内层中这一层是可变的,地址不同。否则,地址相同

浅拷贝:

copy.copy

内层地址一样

外层地址:

1、如果是可变,地址不同

2、如果是不可变,地址相同

__call__

垃圾回收




动态语言






最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容