作用域(变量仅在创建区域内可用)
1.局部作用域(在函数内部创建的变量属于该函数的局部作用域,并且只能在该函数内部使用)
def myfunc():
x=200
print(x)
myfunc()
从函数内的一个函数访问局部变量:
def myfunc():
x=200
def myonefunc():
print(x)
myonefunc()
myfunc()
2.全局作用域(全局变量在任何范围(全局和局部)中可用。)
x=50
def myfunc():
print(x)
myfunc()
print(x)
该函数将打印局部变量 x,然后代码还会打印全局变量 x:
x=50
def myfunc():
x=100
print(x)
myfunc()
print(x)
3.Global关键字(global 关键字使变量成为全局变量。)
def myfunc():
global x
x=50
myfunc()
print(x)
要在函数内部更改全局变量的值,请使用 global 关键字引用该变量:
x=200
def myfunc():
global x
x=300
myfunc()
print(x)
4.nonlocal关键字(修改嵌套作用域(enclosing 作用域,外层非全局作用域))
def myfunc():
num = 10
def myonefunc():
nonlocal num
num = 100
print(num)
myonefunc()
print(num)
myfunc()