Python在嵌套函数内部访问并父级函数的变量
2014-09-01 17:13
253 查看
主要来自stackoverflow上的解答http://stackoverflow.com/questions/6198709/how-do-i-change-nesting-functions-variable-in-the-nested-function
也即:
Python中,嵌套函数内部去操作被嵌套的父级函数中的变量的话:
Python 2.x:把变量弄进一个列表中的第1个值,index=0,然后就可以在嵌套函数中,获得该list列表变量,操作其中第1个值了。
Python 3.x:把变量定义为nonlocal即可。
def accessVarFromNestedFunc(): localVarInParent = [1]; #here just define a list, first value is what we want to use def nestedFunc(): # localVarInParent[0] = localVarInParent[0] + 1 ; # localVarInParent[0] is the first value of above list value: localVarInParent, and its initial value is 1 print "In nested func, localVarInParent[0]=",localVarInParent[0];#2,3,4,5,6 for i in range(5): nestedFunc(); # here can got value is 6, which is changed after nested function print "In current parent nesting func, localVarInParent[0]=",localVarInParent[0]; #In current parent nesting func, localVarInParent[0]= 6 if __name__ == "__main__": accessVarFromNestedFunc();
也即:
Python中,嵌套函数内部去操作被嵌套的父级函数中的变量的话:
Python 2.x:把变量弄进一个列表中的第1个值,index=0,然后就可以在嵌套函数中,获得该list列表变量,操作其中第1个值了。
Python 3.x:把变量定义为nonlocal即可。
相关文章推荐
- 【ZZ已解决】Python中如何在嵌套函数内部访问被嵌套(的父级函数)中的(局部,非全局)变量
- Python3基础 nonlocal关键字 内部函数访问到外部函数的变量
- python嵌套函数使用外部函数变量的方法(Python2和Python3)
- python的本地变量,全局变量,函数的作用域,嵌套函数引用包装函数
- 【转】as3中手工创建的MC如何访问父级变量及函数
- python嵌套函数使用外部函数变量的方法(Python2和Python3)
- js 函数内部私有变量的 访问方式
- 【python】*函数:全局局部变量、内部函数、闭包
- js使用闭包时,内部函数是直接访问外部函数的实际变量而非复制一份新变量
- python内部函数如何修改外部函数变量
- [ActionScript 3.0] flash如何访问父级或者舞台上的变量、函数等的方法
- 如何访问函数内部的变量
- Flash as3.0 中 mc 访问父级 root 函数,变量等的方法
- python嵌入C++------ boost.python如何在C++中调用含有不定长参数tuple变量和关键字参数dict变量的函数
- linux C++ 类成员函数中创建线程,且能访问类中其他成员变量
- Python体验(01)-变量、函数和基本控制语句
- js闭包(变量引用函数内部函数)
- C++成员变量、函数修饰符与访问权限
- as3访问父级和子级变量
- C++中的线程函数如何访问类中的成员变量