作用域是什么?
变量仅在创建区域内可用。这称为作用域。
例如:
def ZuoYongYu():
x = 100
print(x)
ZuoYongYu()
在进一步划分呢可分为局部作用域和全局作用域
函数内部的函数
如上例中所示,变量 x 在函数外部不可用,但对于函数内部的任何函数均可用:
实例
能够从函数内的一个函数访问局部变量:
def ZuoYongYu():
x = 100
def JuBuZuoYongYu():
print(x)
JuBuZuoYongYu()
ZuoYongYu()
全局作用域
在 Python 代码主体中创建的变量是全局变量,属于全局作用域。
全局变量在任何范围(全局和局部)中可用。
x = 15
def ZuoYongYu():
print(x)
ZuoYongYu()
print(x)
一、global
1、global关键字用来在函数或其他局部作用域中使用全局变量。但是如果不修改全局变量也可以不使用global关键字。
x = 4
def HanShu():
global x
x = 8
print("x = ", x)
print("x = ", x)
HanShu()
print("x = ", x)
二、nonlocal
1、 nonlocal声明的变量不是局部变量,也不是全局变量,而是外部嵌套函数内的变量
def HanShu1():
x = "Bill"
def HanShu2():
nonlocal x
x = "Hello"
HanShu2()
return x
print(HanShu1())