Python 作用域
变量仅在其创建的区域内可用。这被称为作用域。
局部作用域
在函数内部创建的变量属于该函数的局部作用域,并且只能在该函数内部使用。
函数内的函数
如上例所示,变量 x
在函数外部不可用,但在函数内部的任何函数中都可用
全局作用域
在 Python 代码的主体中创建的变量是全局变量,属于全局作用域。
全局变量在任何作用域(全局和局部)中都可用。
命名变量
如果在函数内部和外部操作同一个变量名,Python 会将其视为两个独立的变量,一个在全局作用域(函数外部)可用,一个在局部作用域(函数内部)可用
Global 关键字
如果你需要创建一个全局变量,但被困在局部作用域中,你可以使用 global
关键字。
global
关键字使变量成为全局变量。
另外,如果你想在函数内修改全局变量,请使用 global
关键字。
示例
要在函数内修改全局变量的值,请使用 global
关键字引用该变量
x = 300
def myfunc()
global x
x = 200
myfunc()
print(x)
自己动手试一试 »
Nonlocal 关键字
nonlocal
关键字用于处理嵌套函数内的变量。
nonlocal
关键字使变量属于外部函数。
示例
如果你使用 nonlocal
关键字,该变量将属于外部函数
def myfunc1()
x = "Jane"
def myfunc2()
nonlocal x
x = "hello"
myfunc2()
return x
print(myfunc1())
自己动手试一试 »