Python3入门之——浅拷贝和深拷贝

由于Python使用了对象引用,因此在使用赋值操作符(=)时,并没有进行赋值操作。如果右边的操作数是字面值,比如字符串或数字,那么左边的操作数被设置为一个对象引用,该对象引用将指向存放字面值的内存对象。如果右边的操作数是一个对象引用,那么左边的操作数将设置为一个对象引用,并与右边的操作数指向相同的对象。

Python3入门之——浅拷贝和深拷贝

Python3入门之——浅拷贝和深拷贝

浅拷贝

如果需要组合类型数据(或其他可变对象)的单独副本。对于序列,在提取数据切片时,数据切片始终取自数据项的单独副本。

[En]

If you need to combine a separate copy of type data (or other mutable objects). For sequences, when extracting data slices, the data slices are always taken from a separate copy of a data item.

Python3入门之——浅拷贝和深拷贝

对于字典与集合而言,这种复制操作可以使用dict.copy()与set.copy()来实现。此外,copy模块提供了copy.copy()函数,该函数返回给定对象的一个副本。对内置组合数据类型进行复制的另一种方法是使用类型名作为函数,将待复制的组合类型数据作为参数。

Python3入门之——浅拷贝和深拷贝

这些复制技术是浅层复制,仅复制对象引用,而不复制对象本身。对于固定数据类型(如数字和字符串),这与赋值具有相同的效果。但对于可变数据类型(如嵌套组合类型),这意味着相关对象既由原始组合应用,也由复制的组合应用。

[En]

These replication technologies are shallow copies, copying only the object reference, not the object itself. For fixed data types, such as numbers and strings, this has the same effect as assignment. But for variable data types, such as nested combination types, this means that related objects are applied by both the original combination and the copied combination.

Python3入门之——浅拷贝和深拷贝

深拷贝

Python3入门之——浅拷贝和深拷贝

Python3入门之——浅拷贝和深拷贝

Original: https://blog.51cto.com/feishujun/5513700
Author: mb62de8abf75c00
Title: Python3入门之——浅拷贝和深拷贝

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/504854/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球