#yyds干货盘点#python类的作用域

网友投稿 303 2022-08-23


#yyds干货盘点#python类的作用域

如何引用不同作用域和名称空间,以及 ​​global​​​ 和 ​​nonlocal​​ 对变量绑定的影响:

def scope_test(): def do_local(): spam = "local spam" def do_nonlocal(): nonlocal spam spam = "nonlocal spam" def do_global(): global spam spam = "global spam" spam = "test spam" do_local() print("After local assignment:", spam) do_nonlocal() print("After nonlocal assignment:", spam) do_global() print("After global assignment:", spam)scope_test()print("In global scope:", spam)

示例代码的输出是:

After local assignment: test spamAfter nonlocal assignment: nonlocal spamAfter global assignment: nonlocal spamIn global scope: global spam

注意,局部 赋值(这是默认状态)不会改变 scope_test 对 spam 的绑定。 nonlocal 赋值会改变 scope_test 对 spam 的绑定,而 global 赋值会改变模块层级的绑定。

而且,global 赋值前没有 spam 的绑定。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【零基础学Python】后端开发篇 第二十一节--Python Web开发二:Django的安装和运行(前端开发python)
下一篇:#yyds干货盘点#django学习之视图
相关文章

 发表评论

暂时没有评论,来抢沙发吧~