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]
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]