千家信息网

Python中nonlocal关键字与global关键字怎么用

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,小编给大家分享一下Python中nonlocal关键字与global关键字怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下
千家信息网最后更新 2026年11月02日Python中nonlocal关键字与global关键字怎么用

小编给大家分享一下Python中nonlocal关键字与global关键字怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

python引用变量的顺序: 当前作用域局部变量->外层作用域变量->当前模块中的全局变量->python内置变量

1.nonlocal

nonlocal关键字用来在函数或其他作用域中使用外层(非全局)变量。

首先:要明确 nonlocal 关键字是定义在闭包里面的。

请看以下代码:

x = 0def outer():    x = 1    def inner():        x = 2        print("inner:", x)    inner()    print("outer:", x)outer()print("global:", x)

结果:

# inner: 2
# outer: 1
# global: 0

现在,在闭包里面加入nonlocal关键字进行声明:

x = 0def outer():    x = 1    def inner():        nonlocal x        x = 2        print("inner:", x)    inner()    print("outer:", x)outer()print("global:", x)

结果:

# inner: 2
# outer: 2
# global: 0

看到区别了么?这是一个函数里面再嵌套了一个函数。当使用 nonlocal 时,就声明了该变量不只在嵌套函数inner()里面
才有效, 而是在整个大函数里面都有效。

2.global

global关键字用来在函数或其他局部作用域中使用全局变量。但是如果不修改全局变量也可以不使用global关键字。

还是一样,看一个例子:

x = 0def outer():    x = 1    def inner():        global x        x = 2        print("inner:", x)    inner()    print("outer:", x)outer()print("global:", x)

结果:

# inner: 2
# outer: 1
# global: 2

global 是对整个环境下的变量起作用,而不是对函数类的变量起作用。

以上是"Python中nonlocal关键字与global关键字怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

变量 关键 关键字 函数 作用 全局 篇文章 结果 有效 内容 外层 局部 闭包 不怎么 代码 例子 大部分 是在 更多 模块 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州万易互联网科技有限公司 湖南永感互联网科技有限公司 互联网科技公司的优势 互联网科技排名 成都互联网科技公司 互联网科技logo设计 互联网科技logo 互联网高科技股票 互联网科技博客 互联网科技汛 重庆互联网医院沙龙医盟信息科技 国大互联网教育科技有限公司工作 本届互联网博览会上的黑科技 华中科技大学互联网的牛人 每天都有哪些好的互联网科技 上海钢联属于互联网科技股吗 黑云互联网科技有限公司 长沙渺峰互联网科技有限公司 平安好医生打造互联网科技医疗 伍佰万互联网科技是干嘛的 哈尔滨大商圈互联网科技有限公司 互联网科技集团 齐家互联网科技 时间互联网络科技 上海电发互联网科技有限公司 科技互联网大厂 千方科技属于互联网企业吗 互联网保险科技创业 天津腾达互联网科技有限公司 互联网 科技节活动 微视频大赛
0