作用域:
在python中,作用域分为两种:全局作用域和局部作用域。
全局作用域是定义在文件级别的变量,函数名。而局部作用域,则是定义函数内部。
关于作用域,我们要理解两点:
a.在全局不能访问到局部定义的变量
b.在局部能够访问到全局定义的变量,但是不能修改全局定义的变量(当然有方法可以修改)
下面我们来看看下面实例:
x=1deffunx():
x=10print(x)# 打印出10
funx()print(x)# 打印出1
如果局部没有定义变量x,那么函数内部会从内往外开始查找x,如果没有找到,就会报错
x=1deffunx():print(x)
funx()print(x)# 打印出1
x=1deffunx():deffunc1():print(x)
func1()
funx()print(x)# 打印出1
因此,关于作用域的问题,只需要记住两点就行:
全局变量能够被文件任何地方引用,但修改只能在全局进行操作;如果局部没有找到所需的变量,就会往外进行查找,没有找到就会报错。
参考文献