#coding:utf-8 #在python2.x中使用dict类型解决没有python3.x中的nonlcoal的问题 #也就是闭包外的作用域的问题 def test(): param = ‘outside‘ def nested(): print param param += ‘ inside‘ return nested def tester(): param = {‘param1‘: "outside"} def nested(): print param[‘param1‘] param[‘param1‘] += param[‘param1‘] + ‘ inside‘ return nested if __name__ == ‘__main__‘: T = test() #T() Ter = tester() Ter() ‘‘‘ 有些比较负载的装饰器可能会用到装饰器内部变量操作,也许就派的上用场 当然如果使用的3.x版本的python只要使用 nonlocal 声明一下就行了。 具体怎么用请参见官方文档 ‘‘‘
在python2.x中使用dict类型解决没有python3.x中的nonlcoal的问题
原文:http://blog.csdn.net/lzz957748332/article/details/18716433