Python 变量赋值的本质 (垃圾回收机制)
开始变量a指向10的内存空间,之后指向20的内存空间,10的内存空间没有变量指向后,变为垃圾,就会被垃圾回收机制回
1 2 3 4 | a = 10 print ( id (a)) # 内存地址:140720318571592 a = 20 print ( id (a)) # 内存地址:140720318571912 |
a=10在内存中具体干了什么事情?
a=10 首先在内存中开辟了一块内存空间,把数字10放进去,由变量a指向这块空间。
python垃圾回收机制:当一块内存空间没有任何变量指向的时候,就会被作为垃圾回收掉。
当a=20,在内存中开辟一个块内存空间,将数字20放进去,再将变量a指向这块空间。python不像C语言一样(C语言是将20放入10的内存空间,不重新开辟一块新内存空间),Python而是开辟一个新的空间。
这时10没有变量指向了,那就会被当做垃圾处理掉。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程