python中“全局变量”之谜

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

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

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

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

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

亲爱的你,看明白了么?

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

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

相关推荐
2301_816651229 小时前
用Python监控系统日志并发送警报
jvm·数据库·python
飞Link10 小时前
Python Pydantic V2 核心原理解析与企业级实战指南
开发语言·python
Betelgeuse7610 小时前
Django 项目远程服务器部署教程:从开发到生产
python·django·vue
2501_9181269110 小时前
学习python所有用来写ai的语句
人工智能·python·学习
m0_5180194811 小时前
使用Kivy开发跨平台的移动应用
jvm·数据库·python
Sammyyyyy11 小时前
9个Python库把一个月的AI开发周期缩短到了3天
人工智能·后端·python·servbay
tryCbest11 小时前
PyCharm有利于开发的常用设置
python·pycharm
hnxaoli11 小时前
统信小程序(十一)快捷地址栏
linux·python·小程序
weixin_4219226911 小时前
机器学习模型部署:将模型转化为Web API
jvm·数据库·python