python中“全局变量”之谜

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

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

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

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

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

亲爱的你,看明白了么?

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

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

相关推荐
Dr.Kun1 小时前
【鲲码园PsychoPy】延迟折扣任务(DDT)
python·psychopy·心理学编程
coding者在努力2 小时前
LangChain简介,最直白的介绍
人工智能·python·语言模型·langchain
癫狂的兔子2 小时前
【Python】【机器学习】支持向量积
python·机器学习
梦想画家2 小时前
无前端编码,解锁Langflow无限可能:自定义Python组件开发全指南
python·智能体·langflow
电饭叔2 小时前
python转换字符串介绍
开发语言·windows·python
doris82042 小时前
Python 正则表达式 re.findall()
java·python·正则表达式
Mrliu__2 小时前
Python高级技巧(六):正则表达式
开发语言·python·正则表达式
码路飞3 小时前
Gemini 3.1 Pro 发布 3 天,我用同一个 API 跑了 3 家大模型横评,结果有点意外
python
癫狂的兔子4 小时前
【Python】【机器学习】贝叶斯算法
python·机器学习
代码小书生4 小时前
pillow,一个实用的 Python 库!
开发语言·python·pillow