已有183人关注
用global修饰的全局变量和不用global修饰的全局变量有什么区别?
还有0人有此问题
发表在Python图书答疑 2019-12-04 《零基础学Python》
是否精华
版块置顶:

我在实例3中将getWidth()与getHeight()中用global修饰的全局变量注释掉,也可以得到正确的结果,但是将chang(w,h)中global修饰的变量注释掉发现不能修改受保护的全局变量,这是为什么?用global修饰和不用global修饰的变量有什么区别?

分享到:
精彩评论 1
zmpost
学分:19 LV2
2020-02-13
沙发

最近疫情比较严重,没事儿才开始学Python,我也是刚学到这一章节,我谈一下我个人的理解啊。

global的作用应该是对函数体外的变量声名成可以在本函数体中修改值并可在多个函数体中使用。

例如实例03中,自定义chang(x,h)函数体中使用global对函数体外的_width和_hight进行了声名,这样就可以对这两个变量赋新的值,并在getWidth()和getHeight()中使用修改过的_width和_hight,如果在chang函数体中不使用golbal进行声名,那这两个变量就不能被修改。

而您提到的在getWidth()和getHeight()两个函数中可否不使用global再次声名,我也觉得有和没有都一样。

首页上一页 1 下一页尾页 1 条记录 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经营性网站备案信息 营业执照