首页 > 编程语言 >Python中的浅拷贝与深拷贝

Python中的浅拷贝与深拷贝

时间:2024-06-11 11:11:06浏览次数:23  
标签:Python 对象 print 拷贝 copy 赋值

Python中值的拷贝可分为直接赋值,浅拷贝与深拷贝

直接赋值:即为对象的引用,赋值前后的对象均指向同一对象

浅拷贝:拷贝父对象,拷贝前与拷贝后的对象均为独立的对象,但是他们的子对象都仍然指向同一对象

深拷贝:完全拷贝父对象及子对象,拷贝前与拷贝后的对象均独立存在

演示代码如下

import copy

a = [1, 2, 3, [4, 5, 6]]
b = a  # 对象的引用
c = a.copy()  # 浅拷贝
d = copy.deepcopy(a)  # 深拷贝

# 改变列表a
a.append(8)
a[3].append(7)

print(f"a: {a}")
print(f"b: {b}")
print(f"c: {c}")
print(f"d: {d}")

# >>>
#    a: [1, 2, 3, [4, 5, 6, 7], 8]
#    b: [1, 2, 3, [4, 5, 6, 7], 8]
#    c: [1, 2, 3, [4, 5, 6, 7]]
#    d: [1, 2, 3, [4, 5, 6]]

标签:Python,对象,print,拷贝,copy,赋值
From: https://www.cnblogs.com/ToryRegulus/p/18241722

相关文章

  • Python集成开发环境(IDE)JetBrains pycharm pro 2024 for mac
    JetBrainsPyCharmPro2024确实是一款强大的Python集成开发环境(IDE),为Python开发者提供了许多高级功能和改进,旨在提高开发效率和代码质量。以下是对您提到的PyCharm2024新增功能的详细解释:Python集成开发环境(IDE)软件地址HuggingFace模型和数据集的文档预览PyCharm2024......
  • 流畅的python--第十章 使用一等函数实现设计 模式
    经典的策略模式示例10-1实现Order类,支持插入式折扣策略fromabcimportABC,abstractmethodfromcollections.abcimportSequencefromdecimalimportDecimalfromtypingimportNamedTuple,OptionalclassCustomer(NamedTuple):name:strfidelity:intcl......
  • centOS安装python3
    CentOS7安装Python3在CentOS系统上安装Python3的步骤如下:首先,打开终端。安装必要的构建工具和库:sudoyumgroupinstall-y"DevelopmentTools"sudoyuminstall-yzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm......
  • Python控制语句
    程序设计中的控制语句有3种,即顺序、分支和循环语句。Python程序通过控制语句来管理程序流,完成一定的任务。程序流是由若干个语句组成,语句既可以是一条单一的语句,也可以是复合语句(即语句中嵌套语句),Python中的控制语句如下:分支语句:if循环语句:while和for跳转语句:break、continue......
  • Python数据结构——序列(超详细版)
    在计算机程序中会有很多数据,使用数据结构可以管理这些数据,Python中的数据结构主要有序列、集合和字典。常见的数据结构有:数组(array)、集合(set)、列表(list)、队列(queue)、链表(linkedlist)、树(tree)、堆(heap)、栈(stack)和字典(dictionary)。注意:Python中并没有数组结构,因为数组要求元素类......
  • “深度学习之巅:在 CentOS 7 上打造完美Python 3.10 与 PyTorch 2.3.0 环境”学习
    在CentOS7上安装Python3.10和PyTorch2.3.0时,为什么要首先升级OpenSSL?在CentOS7上,默认安装的OpenSSL版本可能不支持Python3.10所需的最新加密标准。因此,为了确保Python3.10能够正常工作,需要先升级OpenSSL到支持这些标准的版本。升级OpenSSL的具体步骤是什么?升级Ope......
  • Python 变量
    Python变量变量的定义变量是编程中不可或缺的一部分,特别是在Python中,它们扮演着存储和引用数据的重要角色。变量可以被视为命名容器,用于存储不同类型的数据,如字符串、数字、列表等。这些变量允许我们通过其独特的名字在程序中轻松访问和修改数据。在Python中,变量的创建实际上......
  • 浙大版PTA python程序设计 第四章题目及知识点解析整理
    第四章--1--在循环中continue语句的作用是(结束本次循环)退出循环的当前迭代  √ 带有else子句的循环如果因为执行了break语句而退出的话,会执行else子句的代码。×因为break是跳出整个循环,所以如果循环体内有else子句,且循环是通过break退出的,那么else子句中的代码也不......
  • python: 压缩图片
    pipinstallimageioimage=imageio.imread("1.jpg")imageio.imwrite("output_image.webp",image,"WEBP") #代码示例:使用Python的Keras库构建Autoencoder模型fromkeras.modelsimportModelfromkeras.layersimportInput,Den......
  • Linux下安装python3.10.12环境
    安装python3编程环境检查是否安装python3python3-V安装python3依赖sudoyum-yinstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-develdb4-devellibpcap-develxz-devellibffi-devel下载python3资源包......