已有183人关注
关于global全局变量和模块的问题
发表在Python图书答疑 2019-03-27 《零基础学Python》第6章 函数 180页-182页
是否精华
版块置顶:

老师您好!请问 global 定义全局变量的作用范围是哪里?是仅限于该模块还是可以跨模块?比如我在一个模块里定义的函数中使用 global 定义了一个全局变量,然后在另一个py文件中导入了该模块,请问在这个py文件中依然可以使用这个 global 全局变量吗?

分享到:
精彩评论 2
小禾斗
学分:7318 LV13
TA的每日心情
奋斗
2017-04-21 14:00:25
2019-03-28
沙发

global默认定义的全局变量,只能在本模块中使用,如果想要跨模块使用,需要特殊处理,关于global想要跨模块使用,可以参考一下这篇文章https://www.cnblogs.com/suwings/p/6358061.html

convey21
学分:39 LV2
2019-03-28
板凳

小禾斗 发表于2019-03-28 10:18

global默认定义的全局变量,只能在本模块中使用,如果想要跨模块使用,需要特殊处理,关于global想要跨模块使用,可以参考一下这篇文章https://www.cnblogs.com/suwings/p/6358061.html


谢谢老师的回答!

这是我将书中的一个例子的代码修改了一下(注释未修改)的执行结果的截图,图一是主程序,图二是导入的模块,图三是执行结果,该如何理解这个结果呢?是说global变量不能跨模块使用,所以在主程序中输出width和height变量还是最初定义的值,而调用getWidth()和 getHeight()函数相当于进入了导入的settings.size模块中执行函数,而在这个模块中global变量是起作用的,是这样理解吗?


首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照