python关键字global和nonlocal如何使用?python关键字global和nonlocal的区别

在局部变量中,我们通常会使用global关键字来定义一个全局变量,它的主要作用就是声明一个变量的作用域,而nonlocal关键字是修饰变量后标识该变量是上一级函数中的局部变量,今天这篇文章主要介绍了简单了解python关键字global和nonlocal如何使用?python关键字global和nonlocal的区别,文章中通过示例代码介绍的非常详细,需要的朋友可以来了解一下 。

python关键字global和nonlocal如何使用?python关键字global和nonlocal的区别

文章插图
一、global关键字
我们之前在学习Python全局和局部变量的时候就有提过global关键字,而global关键字的作用就是将一个局部变量声明成全局变量,使用了global关键字的变量就可以被外部所访问了,同时它也会有命名上的各种限制,所需要遵循的规则也和全局变量是一样的 。
举个例子:
在正常情况下我们不使用global关键字时的代码:
a = 1def func():  a = 10  print(a)func()print(a)运行结果:
101使用global关键字;
a = 1def func():  global a  a = 10  print(a)func()print(a)运行结果:
1010【python关键字global和nonlocal如何使用?python关键字global和nonlocal的区别】通过两个实例我们可以发现,它们的运行结果不一样,使用了global关键值之后,变量a的值就可以被外部所访问,所有在外面赋值的1就会改变 。
二、nonlocal关键字
这个关键字与global关键字不同,它主要是用于在一个函数中进行嵌套的使用,在一个函数的外层也会对它的局部变量进行相应的定义如果不定义的话就会发生错误 。举个例子;
a = 1def func():  nonlocal a  a = 10  print(a)func()print(a)运行结果:
100三、区别
两个关键字在使用的功能上就有所不同,一个是设置的是全局变量,可以对全局变量进行修改,而nonlocal关键字是修饰变量后标识该变量是上一级函数中的局部变量 。在使用范围上也有所不同,global关键字可以在任何地方中使用,nonlocal关键字只能用于嵌套函数中 。
有关python关键字global和nonlocal如何使用?python关键字global和nonlocal的区别的全部内容就讲解到这里了,想要了解其他的Python知识,可以继续关注进行学习 。

    推荐阅读