一、python中变量的赋值
python中的数据类型分为可变数据类型(字符串、数值、布尔型)、不可变数据类型(列表、字典、集合)。
不可变数据类型的赋值,都只是对象的引用,不会开辟新的内存空间;可变数值类型的赋值,则会开辟新的内存空间。如果可变数据类型
中包含有不可变数据类型,则可变数据类型部分也不会开辟新的空间。如下:
二、浅拷贝和深拷贝
对于不可变数据类型而言,无论深拷贝和浅拷贝,都不会开辟新的内存空间。只是对可变数据类型才有深浅拷贝之分。
1、浅拷贝
结论:浅拷贝只拷贝最外面一层,即只对最外面的数据分配内存,但是数据内层的可变数据类型对象不会分配新的空间,还是指向旧的数据对象。
2、深拷贝
结论:深拷贝不管内层有多少个嵌套的可变数据类型,都会单独分配内存空间。
例子:
3、例外--元组
元组只有深拷贝才会分配新的内存空间,浅拷贝会不会分配新内存。
三、is和==
结论:is是判断变量指向的对象是不是同一个,==是判断指向对象的值是否相等。
[1] 参考链接:https://mp.weixin.qq.com/s?__biz=MzU0NjgzMDIxMQ==&mid=2247569389&idx=4&sn=7f93a257c597821bb55da3e2637a3f3d&chksm=fb542d01cc23a4178b83617a01e933494ca6274dd2086baf2bd0354ac30637cc9af674458116&scene=27
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix