首页 > 自考资讯 > 自考知识

global在python中的用法,python中 global

头条共创 2024-06-27

Python中的变量有不同的作用域,根据变量定义的位置和作用域的不同,可以分为全局变量和局部变量。全局变量是在模块或函数外部定义的变量,可以从任何地方访问和修改。局部变量是在函数内定义的变量,只能在函数内访问和修改,并在函数执行后销毁。

Python 中的Global 和Nonlocal 是两个可用于更改变量范围的关键字。 global 关键字允许您将局部变量声明为全局变量,因此您可以在函数内更改全局变量的值。 nonlocal 关键字允许您将局部变量声明为外部函数的局部变量,从而允许您在嵌套函数内更改外部函数的局部变量的值。

全局和非局部之间的主要区别是:

不同的作用域:global关键字可以在任何地方使用,包括最外层的模块或函数,以及嵌套函数。即使该变量之前尚未定义,也可以在全局声明后立即使用。 nonlocal关键字只能在嵌套函数中使用,并且必须在外层函数中定义相应的局部变量。如果没有定义就会报错。用于各种操作的对象:global关键字的对象是全局变量,您可以将任何局部变量声明为全局变量或在函数内更改全局变量的值。 nonlocal 关键字仅适用于外部函数的局部变量。只能将嵌套函数内的局部变量声明为外部函数的局部变量,或者在嵌套函数内更改外部函数的局部变量的值。不同的使用场景:global关键字的使用场景是当您需要在函数内更改全局变量的值或需要在函数内创建全局变量时。 nonlocal 关键字的使用场景是当需要在嵌套函数内更改外部函数的局部变量的值时,或者需要在嵌套函数内创建外部函数的局部变量时5。这是一些使用全局变量和非局部变量的示例代码。

使用global关键字

x=10 # 全局变量def foo() : global x # 声明x 为全局变量x=20 # 更改全局变量的值print(x) # 输出20foo() print(x) # 输出20 :010 -1010 def bar(): y=10 # 外部函数的局部变量def baz(): nonlocal y # 声明y 为外部函数的局部变量y=20 # 更改外部函数的局部变量的值function print(y ) #输出20 baz() print(y) # 输出20 ea3f1b0eca2749a79332d71d4416b12b~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720069492&x-signature=b9bkR8dWYcS9JYJ6bH77UWrQhF0%3D

版权声明:本文由今日头条转载,如有侵犯您的版权,请联系本站编辑删除。

猜你喜欢