在 Python 中,'global' 和 'nonlocal' 关键字都用于在嵌套函数中访问外部作用域中的变量。它们的区别在于作用范围和使用方式。

  1. 'global' 关键字:

    • 'global' 关键字用于在函数内部声明一个变量为全局变量,使其在函数内外都可访问。
    • 在函数内部,如果需要修改或更新一个全局变量的值,需要在变量之前加上 'global' 关键字来标识。
    • 'global' 关键字的作用范围是整个文件,即在声明为全局变量后,它可以在整个代码文件的任何地方使用。
  2. 'nonlocal' 关键字:

    • 'nonlocal' 关键字用于在嵌套函数中访问外部函数中的变量,而不是全局变量。
    • 在内层函数中,如果需要修改或更新外层函数中的变量,需要在变量之前加上 'nonlocal' 关键字来标识。
    • 'nonlocal' 关键字的作用范围是当前函数的外部嵌套函数。它允许内层函数访问并修改外部函数的变量,而不是全局变量或局部变量。

总结:

  • 'global' 关键字用于在函数内部声明一个变量为全局变量,使其在函数内外都可访问。
  • 'nonlocal' 关键字用于在嵌套函数中访问外部函数中的变量,而不是全局变量。
  • 'global' 关键字的作用范围是整个文件,而 'nonlocal' 关键字的作用范围是当前函数的外部嵌套函数。
Python 中 global 和 nonlocal 的区别:深入理解变量作用域

原文地址: http://www.cveoy.top/t/topic/btky 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录