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没有变量指向了,那就会被当做垃圾处理掉。

 

posted @   勋勋的大宝贝  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
点击右上角即可分享
微信分享提示