python嵌套函数使用外部函数变量的方法(Python2和Python3)

python嵌套函数使用外部函数变量的方法,Python2和Python3均可使用

python3

def b():
 b = 1
 def bchange():
   nonlocal b
   b += 1
 bchange()
 print(b)

Python 2 只能这样(利用 mutable 对象):

def b():
 b = [1]
 def bchange():
   b[0] += 1
 bchange()
 print b[0]