首页 > 自考资讯 > 自考资讯

一篇文章教你理解全局和非局部

2024-10-09

大家好,关于一篇文章教你理解全局和非局部很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

由于这两个关键字在开发过程中经常被用到,所以系统地了解它们的内部原理将会大有裨益。

global

全局关键字

nonlocal

一篇文章教你理解全局和非局部

nonlocal主要用在嵌套函数中,其中内部函数引用外部函数并修改其值,但仍保留其局部变量的作用域,从而在内部函数中修改外部函数定义的变量值。本质上,nonlocal相当于直接将外部变量引用到内部名称空间。 从下面的代码中可见

# 定义外部函数def outer_func(): # 定义外部函数变量x=50 # 打印命名空间内容print(f'external={locals()}') # 打印变量内存地址print(hex(id(x))) def inner_func(): # 使用nonlocal修改同名变量nonlocal x # 打印内部函数命名空间的内容print(f'internal={locals()}') # 打印x的内存地址print(hex( id(locals()['x']))) # 调用内部函数inner_func()# 运行外部函数outer_func()# 运行结果#External={'x': 50}#0x7ff8e8c3cfd8#Internal={'x ': 50}#0x7ff8e8c3cfd8 在上面的代码中,我们可以看到变量因此,可以得出结论,内部函数中标有nonlocal的变量本质上引用的是外部函数变量(两个函数打印出来的内存地址)是一样的(0x7ff8e8c3cfd8),实际运行结果可能与这里有所不同,可以进一步确认)。

在Python中,本地命名空间已经是最小的作用域,因此外部函数和内部函数都有自己的命名空间。

用户评论

昂贵的背影

这篇文章简直太赞了!把我以前一直困惑的 global 和 nonlocal 的区别弄了个通透!之前总觉得这两者很像,没想到用法完全不一样啊。终于把python的局限性学习清楚了!

    有12位网友表示赞同!

丢了爱情i

我感觉这个标题有点过于吹牛了,虽然博主解释的很详细,但是全局变量和非全局变量的概念我觉得还是蛮抽象的。希望能再加入一些更具体的例子,比如在实际项目里是怎么应用的?

    有7位网友表示赞同!

龙吟凤

终于明白global 和 nonlocal 用法差异的区别了!这个解释非常清晰,还举了很多有趣的例子。之前一直搞混这两个概念,导致代码逻辑混乱,真是太感谢博主了,拯救了我的程序!

    有14位网友表示赞同!

不离我

学习Python真是不容易啊!全局变量和非全局变量这块的确是比较头疼的问题,虽然博文写的很清楚,但我还是感觉理解不够深入。希望可以再结合更多案例进行讲解,这样更容易理解掌握。

    有18位网友表示赞同!

冷落了♂自己·

python 的语法确实很强大,但是这种灵活性有时候也带来了一定的复杂度。 这个帖子解释了 global 和 nonlocal 的用法,我觉得很有用,可以让新手更好地理解Python代码结构。

    有14位网友表示赞同!

哽咽

感谢博主分享这份宝贵经验!之前我也遇到过关于global和nonlocal的问题,总是搞不清哪些地方应该使用哪个变量范围。现在终于理清思路了,可以更高效地编写Python代码了!

    有12位网友表示赞同!

娇眉恨

对于初学者来说,python确实是个非常不错的语言。博主的文章解释得很清晰,帮助我更好地理解了 global 和 nonlocal 的用法,感觉对学习Python更有方向性了!

    有5位网友表示赞同!

青楼买醉

之前就遇到过关于全局变量和局部变量的困惑,感觉这个博客终于给了我答案。虽然讲解很简明扼要,但对于我来说非常有用,能让我更快地区分这两个概念的使用场景。

    有17位网友表示赞同!

旧事酒浓

我觉得这篇文章比较适合已经对 Python 有了一定的基础学习的人阅读。初学者可能需要花更多时间来理解这些概念,建议可以添加一些更基础的知识点讲解。

    有13位网友表示赞同!

一生只盼一人

这个博客写的真好!让我快速掌握了 global 和 nonlocal 的区别,以前总是觉得这两个概念很难以理解,没想到这么简单!感谢博主的耐心解答!

    有19位网友表示赞同!

执笔画眉

Python真是个神奇的语言啊!全局变量和非全局变量这种特性,虽然听起来有点抽象,但确实很有用。 不过对于初学者来说,学习这些概念可能会需要一定的积累。

    有19位网友表示赞同!

情如薄纱

这个解释非常棒,终于明白global 和 nonlocal 究竟是用来干嘛的了!感觉我以前对 Python 的理解深度不足,现在多看了这篇文章,进步很大!

    有9位网友表示赞同!

别悲哀

写博客的人很用心呀!对全局变量和非全局变量的讲解都很到位,而且还有很多具体的例子能帮助我们更好地理解。我觉得这个文章很有价值,可以推荐给其他想要学习 Python 的朋友们。

    有20位网友表示赞同!

失心疯i

我一直觉得Python语言挺好学的,但有时候一些概念确实容易让人一头雾水。这篇文章解释了global 和 nonlocal ,感觉思路清晰,也很实用。感谢博主分享!

    有9位网友表示赞同!

歆久

我觉得博客文章的篇幅可以再长一点,例如加入更多案例和情境展示,这样能更直观的帮助读者理解global 和 nonlocal 的作用。

    有11位网友表示赞同!

算了吧

学习编程确实是一个需要不断探索的过程,需要将理论知识与实践结合起来才能更好的理解。这篇文章虽然解释了全局变量和非全局变量的概念,但我感觉还需要更多实战练习来巩固这些知识。

    有16位网友表示赞同!

早不爱了

之前也遇到过类似的问题,现在看来 global 和 nonlocal 确实很有必要深入了解一下,因为关系到Python代码的逻辑结构。感谢博主分享这篇文章!

    有18位网友表示赞同!

在哪跌倒こ就在哪躺下

这个解释非常实用,让我解决了困扰我很久的全局变量和非全局变量疑惑!博客文章写的很通俗易懂,非常适合初学者阅读。

    有5位网友表示赞同!

猜你喜欢

  • 一篇文章教你理解全局和非局部

    一篇文章教你理解全局和非局部

    在上一篇文章中我们介绍了名字空间的概念和其引发的一些特性。借此,我们来详细分析一下 Python 中 global 和 nonlocal 两个关键字。两者在程序

    来源:中国自考网 2024-10-09
  • 带你了解python中global的用法

    带你了解python中global的用法

    Python中定义函数时,若想在函数内部对函数外的变量进行操作,就需要在函数内部声明其为global。例子1x = 1def func(): x = 2func

    来源:中国自考网 2024-10-09
  • 比亚迪网站将于9月22日改版,加入“全球”一词

    比亚迪网站将于9月22日改版,加入“全球”一词

    IT之家 9 月 21 日消息,比亚迪 9 月 21 日公告,公司因经营发展需要,将于 9 月 22 日对公司网址进行变更。公告显示,比亚迪公司网址将由 www

    来源:中国自考网 2024-10-09
  • 《given》 第一章李夏用心回忆仲冬时节对音乐的热情

    《given》 第一章李夏用心回忆仲冬时节对音乐的热情

    7月11日开始在富士电视台"noitamina"以外被广播的TV动画片「given」code.01「Boys in the Band」的梗概和场面被公开了。上之

    来源:中国自考网 2024-10-09
  • “给定”重要短语

    “给定”重要短语

    given to 倾向…, 惯于…be given to doing sth 喜欢做某事例如: My brother is given to lavish sp

    来源:中国自考网 2024-10-09
  • 商务英语:外企常用商务词汇第3讲:给出

    商务英语:外企常用商务词汇第3讲:给出

    Given考虑到现状,我们不得不重新考虑一下Considering the situation, We have to rethink about it.Giv

    来源:中国自考网 2024-10-09
  • 高考热点中given的用法总结

    高考热点中given的用法总结

    一、given 用作形容词,意为“特定的”。例如: About 250 students are working with us at any given ti

    来源:中国自考网 2024-10-09
  • 每天记住一个单词(第3477号)给出

    每天记住一个单词(第3477号)给出

    given /ˈɡɪvn/ adj. 指定的,特定的;点击音频收听跟读 ↓↓↓↓↓↓(中慢速带读)(音频不显示请关闭头条app后台重新打开或者更新最新版本)例句

    来源:中国自考网 2024-10-09
  • CCGGCC毛衣品牌折扣女装穿搭

    CCGGCC毛衣品牌折扣女装穿搭

    品牌:CCGGCC22冬比例:外套52%,连衣裙1%,套装0.5%,上衣46.5%

    来源:中国自考网 2024-10-09
  • 音标教学辅音b、p、d、t、g、k发音图解及方法

    音标教学辅音b、p、d、t、g、k发音图解及方法

    /p/ 是 p 的发音,/b/是b的发音。双唇爆破辅音。发音时双唇紧闭,憋住气,然后突然分开,气流冲出口腔,发出爆破音。/p/是清辅音,声带不振动;/b/是浊辅

    来源:中国自考网 2024-10-09