美文网首页
Python中的非局部变量

Python中的非局部变量

作者: BoscoRCtech | 来源:发表于2019-06-11 22:03 被阅读0次

非局部语句可以让所列的标识符(identifier)指向最近的嵌套作用域(enclosing scope)中已经绑定过的变量,全局变量除外。具体参考

这篇文章:http://codingpy.com/article/what-is-nonlocal-statement-in-python/

def a():
    i = 0
    def b():
        i=i+1
    b()
a()

b()中并不会赋值,a()和b()中i重名,报错local variable 'i' referenced before assignment

def a():
    i = 0
    def b():
        nonlocal i
        i=i+1
    b()
a()

b()虽然可以读到a()中的变量i,但不会对其可写,nonlocal可以指定b()中i的赋值对象指定为a()中i


作者:sschen_cn
来源:CSDN
原文:https://blog.csdn.net/sschen_cn/article/details/80271903
版权声明:本文为博主原创文章,转载请附上博文链接!

相关文章

  • Python中的非局部变量

    非局部语句可以让所列的标识符(identifier)指向最近的嵌套作用域(enclosing scope)中已经绑...

  • python的全局列表变量

    大家知道在python中,对一个非列表、字典的变量,对与全局变量同名的局部变量进行修改,不会影响全局变量。如果局部...

  • python学习笔记|nonlocal/global

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

  • 函数

    变量 python中的变量也分为全局变量和局部变量。 局部变量 位置:在函数内部定义的变量 作用范围:这个函数内部...

  • [转载] Python之全局变量和局部变量

    参考链接: Python中的全局变量和局部变量[https://www.imangodoc.com/162.htm...

  • python高级特性之闭包

    python的闭包可以参考装饰器,将函数作为参数,处理局部变量,这样外围的局部变量被调用时可以调用到这个局部变量,...

  • Golang须知

    变量的包作用域在Golang中,同个package中的非局部变量,可以认为是package作用域,可在packag...

  • python3 局部变量、非局部变量和全局变量的区别

    最近在看python中nonlocal和global的使用,参考网上的大作,写了点自己的心得。有不完善的地方,还请...

  • 第2模块第1章21函数—作用域

    作用域 在Python中函数就是一个作用域,局部变量放置在其作用域中 C Java中作用域{}已经生成,作用域向上...

  • 小猿圈python之全局变量和局部变量

    相信了解过python的朋友们听过全局和局部变量吧?今天就跟随小猿圈的步伐一起学一下python中变量作用域问题。...

网友评论

      本文标题:Python中的非局部变量

      本文链接:https://www.haomeiwen.com/subject/nbacfctx.html