python中“全局变量”之谜

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

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

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

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

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

亲爱的你,看明白了么?

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

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

相关推荐
我的xiaodoujiao11 分钟前
快速学习Python基础知识详细图文教程14--模块
开发语言·python·学习·测试工具
残影飞雪15 分钟前
Ollama对话脚本
python
jerryinwuhan18 分钟前
数据预处理技术 2026-2027-1 开篇-课程介绍
大数据·python
看昭奚恤哭41 分钟前
ontainer App】Container App无法从Container Registries 拉取镜像 - 报错 Forbidden
后端·python·flask
05664643 分钟前
Python康复训练——数据结构
数据结构·windows·python
Tinyfacture1 小时前
接口自动化之添加商品(pytest)
python·测试工具·自动化·pytest
听雨入夜1 小时前
“同声传译”还是“全文翻译”?为何HotSpot虚拟机仍要保留解释器?
开发语言·python
随风M记忆s1 小时前
GEE&Python-demo:利用Sentinel-监测北京奥林匹克森林公园年NDVI变化(附Python版)
开发语言·python·sentinel
软萌萌的12 小时前
Python零基础从入门到精通详细教程-数据类型
开发语言·windows·python
东北赵四2 小时前
关于Java泛型的知识点及其相关面试题
java·windows·python