python中“全局变量”之谜

全局变量,是不是以为着在整个程序中的值都是一样的,是不是都是同一个呢?

我们通过下面的例子来看全局"变量之变"

上面的程序运行结果如下:

从上面的运行结果可以看出:尽管变量num被声明为全局变量,在每一个子程序运行时,它还是分别被deepcopy了一次,成为了全新的变量,在经过+5 和+10之后,又生成了新的变量和变量值。只有在子程序之外的全局变量num在程序运行之处为1,在子程序运行之后,主程序中的全局变量num仍然为1,并且它的id值都是一样的,说明它是同一个内存变量。

从什么的程序中,我们可以深刻理解全局变量在程序不同位置的不同。

亲爱的你,看明白了么?

特别提醒:即便是同样的程序,每次运行时,内存ID都是不一样的,说明,程序在每一次运行时,都启用了全新的内存空间。

又一次运行同一个程序的运行结果:

相关推荐
刘新洲1 分钟前
我以为 AI Agent 只是调模型,直到我亲手补上审批、Outbox 和故障恢复
python·agent·fastapi
qq_5137280420 分钟前
浏览器配置 + 文件上传 + 截图
python·selenium·测试工具·计算机外设
Fluxproxy1 小时前
Python请求玄学根治:彻底解决脚本间歇性超时、断连、假死问题
网络·python·安全
青 春 记 忆1 小时前
零基础入门Python15|关联、聚合、索引与事务:订单数据库
开发语言·python·后端开发
qq_513728042 小时前
Alert 原生弹窗处理
python
李可以量化2 小时前
Redis 从了解到精通(三)上:量化交易场景下的数据备份与安全配置
redis·python·安全·qmt·ptrade
卷无止境3 小时前
FastAPI查询参数模型:把散落的参数收拢成一个整齐的盒子
后端·python
Code额3 小时前
Python asyncio 异步编程全套学习文档(零基础完整版)
python·学习·oracle·async·异步·asyncio
钱栈up3 小时前
Mac 开发机一键发版不用切环境:我这样改造了团队的后端部署脚本
运维·python·mac