很多小伙伴在学习python基础知识的时候应该都知道global这个关键字的作用就是在局部变量之中去声明全局变量,让其能够在结构外部去使用 。那么nolocal这个python3才推出的关键字实际上是对它的功能弥补,下文会有详细讲解,一起往下看看学习吧 。

那么首先就是要来介绍一下nolocal关键字的作用,它能够在函数、循环、类、if条件等等作用域之中用来修改外层变量,但不包括全局变量 。
例如现在定义了一个函数,然后在这个函数的作用域第一行代码处声明了一个变量 。然后在此之下又去定义了一个函数,在这个函数内用nolocal关键字修饰该变量,之后就可以对这个变量进行实际的操作并且返回了,详细代码示例如下所示:
def work(): x = 0 def new_work(): nonlocal x x=x+3 return x return new_workf=work()print(f())print(f())print(f())# 结果369从代码运行的结果来看第一次调用结果为0+3得到3,那么剩下的两次调用结果为6和9的原因就是因为new_work()这个函数返回出来的x实际上已经保存在了声明对象f中,再次调用时就会把他作为参数去使用,这个实际上和闭包以及递归算法优点类型 。
而实际上使用nolocal是为了解决函数内部的函数或者是其他作用域无法访问到外层作用域的问题 。
【Python中nolocal是什么意思?Python3的nolocal怎么用】以上就是关于“Python中nolocal是什么意思?Python3的nolocal怎么用”的全部内容了,希望对你有所帮助 。
猜你喜欢
- 中国四川一共有几个川都是哪四个川 四川哪4个川
- ppt如何提取颜色?ppt怎么吸取图片中的颜色?
- 最适合养老的地方有哪些 中国最适合居住的城市排名
- 自然界中害虫洋辣子是一种什么动物 洋辣子是什么虫
- 纯种萨摩耶有哪些优点 萨摩耶是大型犬还是中型犬
- 文竹养护过程中需要注意些什么
- 徐达的军事水平在历史上怎么样 徐达在名将中什么水平
- 三国演义作者罗贯中所在朝代 罗贯中是哪个朝代的人物
- 配方施肥对油茶中幼林营养生长的影响
- 中华田园奶牛猫咪的脾气咋么样 奶牛猫的性格特点
