问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求Python中全局变量的详细理解?

发布网友 发布时间:2022-04-24 03:04

我来回答

1个回答

热心网友 时间:2022-04-06 04:15

题主你好,

拿实际例子和你说一下吧, 更好理解一些.

我们在拿到一个python脚本的时候,往往发现里面都有如下语句:

注意: __name__和'__main__'虽说看着像一类东西, 但要注意的是__name__是一个变量, 而'__main__'就是一个字符串常量.

-----

假设我有一个文件叫hi.py,内容如下:

A.当我们直接执行hi.py这个文件时, __name__的值就是字符串'__main__'.

B.假设我们还有一个文件hello.py,它把hi.py作为模块导入(因为hello.py想直接用hi.py中定义的hello()函数).

需要注意,上图是将hi.py作为模块导入到了hello.py中(作为模块导入不需要写py后缀,也不能写),重点看下面的两个print()语句, 一个打印的是hi.__name__,一个打印的是__name__, 注意当hi.py被作为模块导入后,hi.__name__得到的是模块名,即hi. 而在被执行的文件中直接输出__name__变量,其值永远是字符串'__main__'. 见执行结果:

-----

看到这里你可能还是云里雾里,下面对照着你的截图拿上面的例子分析一下:

"每个模块中都有一个全局变量__name__", 这句没啥说的,就引入了一个叫__name__的变量.

"__name__的作用是获取当前模块的名称."(这句话其实说的不严谨,但目前先不去细究)这句也不是重点, 下面才说的是__name__的值到底是什么.

"如果当前模块是单独执行的,则其__name__的值就是__main__",干货来了, 拿上面的hi.py来讲,我们直接把hi.py作为可执行文件进行执行,则在它里面print(__name__)就是字符串'__main__'.

"如果是作为模块导入,则其__name__的值就是模块的名字",这也是干货,拿上面hello.py来说,因为hi是作为模块被导入的,所以print(hi.__name__)输出的就是模块名hi.这句指的就是这个意思.另外你看hello.py中也有一个print(__name__)输出的是字符串'__main__',因为我上面说了,只要在你执行的文件里直接单独输出__name__变量,它的值一定是'__main__'.

-----

扩展阅读:

=====

希望可以帮到题主, 欢迎追问.

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
抖音弹幕怎么关掉?怎么关闭抖音弹幕? 惠普LaserJet P3005D是否支持B5纸的双面打印? word打印出图片总是缺一部分怎么办-word打印图片不完整怎么解决_百度... 理想one哪里产的车辆? 抚州抚州ONE在哪里? one地址在哪里? 如何在图片上写字(如何在图片上添加文字) 网商贷为什么钱没到账 高级经济师职称怎么评 高级经济师需要评审吗 python中局部变量和全局变量的区别 python中如何设置全局变量 python中的全局变量 如何设置咋设置页面A4纸 对全文进行页面设置,设置每行字符数为36个,每页为40行。 如何设置页面对齐 如何进行页面设置 糖果蛋糕不及你的甜这句话是什么意思 德国有一种糖果,褐色,看起来像巧克力,吃起来像软糖。最恶心的是,它是八角味的!这是什么糖哪位高人能 烘焙、糕点及糖果食用原料配料要如何买呢? 小明有饼开,糖果,蛋糕三份礼物,要分别给他的爸爸,妈妈,有多少种不同的给法?请写一写 woogie水果糖和嘉云糖一样吗 现在你可以买些糖果和蛋糕的句子怎么写 大大泡泡糖盒子怎么打开 没有营养,却被家长误以为是“好东西”给孩子吃的是什么? 小明有饼干、糖果、蛋糕三份礼物,要分别给他的爸爸、妈妈,有多少种不同的给法?请写一写。 糖果蛋糕、碳酸饮料为什么会影响人长高? 小样水果糖果和蛋糕能一起吃吗? 不二家SweetsTorte糖果蛋糕(巧克力蛋糕味)的热量是多少? 糖果,蛋糕的英语怎麽说? python实现跨文件全局变量的方法 自动化测试时需要使用python,请问如何理解python中的全局变量和局部变量... python 全局变量怎么用 python中全局变量和局部变量 Python命名空间和全局变量问题,怎么解决 Python类里面设置全局变量有什么用吗? python中的本地变量(local variable)和全局变量(global variable)分 ... Python 中作用域与命名空间的问题? 如何在python程序中使用os.system中调用全局变量? python class里面的全局变量问题 Python怎么包含一个存储整型数据的全局变量x python中在哪些情况下必须使用global来声明全局变量 华为账号密码忘了怎么改? 怎么改华为账号密码 华为账号怎么修改密码? 如何修改华为帐号密码 华为账号怎样改密码 账号密码忘了,手机号也注销了怎么办,我该怎么改华为账号 华为nova7pro怎么更改华为账号密码? 华为手机怎样更改密码