python基础语法十一-赋值、浅拷贝、深拷贝

书接上回:

python基础语法一-基本数据类型

python基础语法二-多维数据类型

python基础语法三-类

python基础语法四-数据可视化

python基础语法五-函数

python基础语法六-正则匹配

python基础语法七-openpyxl操作Excel

python基础语法八-异常

python基础语法九-多进程和多线程

python基础语法十-文件和目录操作

1. 赋值

两个对象的id相同,实际是同一个对象,指向的是同一块内存空间

2. 浅拷贝

两个对象的id不同,但是里面的对象id相同,即子对象id相同

3. 深拷贝

两个对象的id不同,且里面的对象id也不同,即子对象id也不同

class Text:

    pass

class Picture:

    pass

class Book:

    def __init__(self, text, picture):

        self.text = text

        self.picture = picture

# 1.赋值

text1 = Text()

text2 = text1

print('--------------assign--------------')

print(text1)

print(text2)

# 2.浅拷贝

picture = Picture()

book1 = Book(text1, picture)

import copy

book2 = copy.copy(book1)

print('---------shallow copy---------------')

print(book1, book1.text, book1.picture)

print(book2, book2.text, book2.picture)

# 3.深拷贝

book3 = copy.deepcopy(book1)

print('--------deep copy------------------')

print(book1, book1.text, book1.picture)

print(book3, book3.text, book3.picture)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值