-
==, is: == 判断的是值, is 判断的是内存地址 (即对象的id)
-
小整数对象: [-5, 256]
-
练习1: 说出执行结果
def extendList(val, lst=[]): lst.append(val) return lst list1 = extendList(10) list2 = extendList(123, []) list3 = extendList('a') -
copy, deepcopy 的区别
- copy: 只拷贝表层元素
- deepcopy: 在内存中重新创建所有子元素
-
练习2: 说出下面执行结果
from copy import copy, deepcopy
from pickle import dumps, loadsa = ['x', 'y', 'z'] b = [a] * 3 c = copy(b) d = deepcopy(b) e = loads(dumps(b, 4)) b[1].append(999) b.append(777) c[1].append(999) c.append(555) d[1].append(999) d.append(333) e[1].append(999) e.append(111) -
自定义 deepcopy: my_deepcopy = lambda item: loads(dumps(item, 4))
python进阶之Python 的赋值和引用
最新推荐文章于 2025-04-30 10:36:40 发布
本文深入探讨Python中的内存管理机制,解析'is'与'=='运算符的区别,详细讲解Python如何处理小整数对象。同时,对比分析了浅拷贝(copy)与深拷贝(deepcopy)的工作原理及应用场景,通过具体示例代码演示两者在操作嵌套数据结构时的不同表现。
2676

被折叠的 条评论
为什么被折叠?



