Python实践101-nonlocal变量

nonlocal

  • nonlocal是Pythoh 3出现的关键字
  • nonlocal可以使得内部函数修改外部函数中的变量
  • Python 2中,内部函数可以读取外部函数中的变量,但不能修改
  • nonlocal关键字只能用于嵌套函数中,并且外部函数中定义了相应的局部变量,否则会发生错误

举个栗子

def count_down(n):
    def decrement():
        nonlocal n
        n -= 1

    while n > 0:
        print(n)
        decrement()


if __name__ == '__main__':
    count_down(3)

代码地址

本系列文章和代码已经作为项目归档到github,仓库地址:jumper2014/PyCodeComplete。大家觉得有帮助就请在github上star一下,你的支持是我更新的动力。什么?你没有github账号?学习Python怎么可以没有github账号呢,快去注册一个啦!