python中“全局变量”之谜

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

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

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

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

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

亲爱的你,看明白了么?

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

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

相关推荐
gogogo出发喽几秒前
flask vue
python
zhaoshuzhaoshu几秒前
设计模式之结构型设计模式详解
python·设计模式
斯班奇的好朋友阿法法4 分钟前
Django 3.2 项目:从 Hello World 开始(完整功能版)
python·django
架构师老Y7 分钟前
010:API网关调试手记:路由、认证与限流的那些坑
开发语言·前端·python
老刘说AI9 分钟前
Dify:从入门到精通
人工智能·python·神经网络·低代码·ai作画·开源软件
zhangzeyuaaa14 分钟前
Python 闭包详解
开发语言·python
万粉变现经纪人15 分钟前
如何解决 pip install tensorflow-gpu 报错 未检测到 CUDA 驱动 问题
人工智能·python·深度学习·aigc·tensorflow·bug·pip
架构师老Y19 分钟前
009、容器编排实战:Kubernetes上的Python服务
python·容器·kubernetes
Freak嵌入式19 分钟前
MicroPython LVGL基础知识和概念:底层渲染与性能优化
人工智能·python·单片机·性能优化·嵌入式·lvgl·micropython
ZhengEnCi6 小时前
M3-markconv库找不到wkhtmltopdf问题
python