python中“全局变量”之谜

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

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

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

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

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

亲爱的你,看明白了么?

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

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

相关推荐
几道之旅几秒前
pytdx数据获取:在线获取和离线获取(8年前的东西,还能用吗?)
python
jay神23 分钟前
基于Python+YOLO模型的手势识别系统
开发语言·python·深度学习·yolo·手势识别系统
点云兔子1 小时前
使用 OpenCV 实现 ArUco 码识别与坐标轴绘制
人工智能·python·opencv
覆东流2 小时前
Python语法特点与编码规范
python
Want5952 小时前
Python炫酷烟花
开发语言·python·pygame
老歌老听老掉牙2 小时前
Python 脚本执行命令的深度探索:方法、示例与最佳实践
python·命令
L_cl3 小时前
【Python 算法零基础 4.排序 ⑤ 归并排序】
python·算法·排序算法
拾忆-eleven3 小时前
NLP学习路线图(五):常用库-NumPy, Pandas, Matplotlib
python·自然语言处理·nlp
叫我黎大侠4 小时前
使用 LibreOffice 实现各种文档格式转换(支持任何开发语言调用 和 Linux + Windows 环境)[全网首发,保姆级教程,建议收藏]
java·大数据·linux·开发语言·python·c#·php
xiaohanbao094 小时前
day34 python深度学习训练优化实践:CPU vs GPU
人工智能·python·深度学习·学习·机器学习