Python支持的关键词里,global和nonlocal初学者接触的少,不知道是做什么用的,有些人虽然知道它们的作用,但对为什么要引入这两个关键词则有些不知其所以然 。其实global和nonlocal是为了在函数中修改全局和闭包变量而引入的关键字 。下面就来讲一下它们两者之间有什么区别 。
文章插图
【Python为什么要引入这两个关键字?如何使用Python关键字global与nonlocal?】一、Global
这个关键字的作用就是将一个局部变量的范围修改为全局变量,这样定义的变量就可以在程序的外部进行使用,变量也得到了访问 。同时它也会有命名上的各种限制,所需要遵循的规则也和全局变量是一样的 。举个例子;
g =1 def fun(): global g g = 2 return g print(fun(),g)运行结果为:
2,2在这个例子中,我们使用global关键字函数将变量的作用域进行了修改,修改为了一个全局变量 。引用global关键字目的就是当在函数中读取全局变量时,可以直接使用 。但如果需要修改全局变量值,则需要在变量前加上 global 来修饰 。
二、nonlocal
这个关键字一般使用在嵌套函数中,如果需要对闭包中的变量进行修改操作时,就可以对这个关键字进行引用 。举个例子:
def outer(): e = 1 def inner(): nonlocal e e = 2 return e return inner通过这篇文章我们知道了,这两个函数所实现的功能不同,一个是用来修改全局变量的,另一个是用来修饰局部变量,两个函数的使用范围也不一样,一个用于程序的任何地方,另一个只能在嵌套函数中使用 。
有关Python为什么要引入这两个关键字?如何使用Python关键字global与nonlocal?的内容就讲解到这里了,希望对大家的学习有所帮助 。
推荐阅读
- 二孩家庭要注意什么
- 极品飞车11和极品飞车12的电脑配置要求
- 电动车上牌需要什么证件
- 改脸型大概要多少钱
- 银行贷款要什么条件
- 芦荟为什么变红
- 养花为什么每年换盆
- 铜钱草分株叶子要剪掉吗
- 绿萝怎么养长得快
- 铜绿麒麟需要晒太阳吗