Python可变与不可变类型
1. 什么是不可变类型
所谓可变类型和不可变类型是指:数据能够直接进行修改,如果能直接修改那么就是可变的,否则就是不可变的
变量对应的值中的数据是不能被修改,如果修改就会生成一个新的值从而分配新的内存空间。
不可变类型(修改数据,内存地址必发生改变):
-
- 数字(int,long,float)
- 布尔(bool)
- 字符串(string)
- 元组(tuple)
结果:
两个不同的数字
结果:
两个不同的数字
2. 什么是可变类型
变量对应的值中的数据可以被修改,但内存地址保持不变。
不可变类型(修改数据,内存地址不会发生变化):
-
- 列表(list)
- 字典(dict)
地址没有变化
3. 为什么生成以上两种情况
因为python中的值是通过引用(地址值)传递的,不可变类型的值一旦被修改后会创建一个内存空间并且生成新的地址值,可变类型的值会在原内存空间中被修改。
4. 不可变类型执行过程和内存分析
5. 可变类型执行过程和内存分析
6.函数引用
当函数在引用时,必须要分清楚传递的值是可变类型还是不可变类型,
如果是可变类型,里面发生改变,外层就能看到改变后的内容;
如果是不可变,里面发改变,不会邮箱外层得到的变量值。
__EOF__
本文作者:Ambitious
本文链接:https://www.cnblogs.com/ambitiousPlus/p/16046267.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/ambitiousPlus/p/16046267.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
作者:Ambitious
-------------------------------------------
个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构