变量的作用域
变量的作用域就是指变量的有效范围。
变量按照作用范围分为两类,分别是 全局变量 和局部变量。
全局变量:在函数外部声明的变量就是全局变量
有效范围:
全局变量在函数外部可以正常使用。
全局变量在函数内部也可以正常使用(需要用global声明)
局部变量:在函数内部声明的变量就是局部变量
有效范围:
局部变量在函数内部可以正常使用
局部变量在函数外部不可以访问
读取全局变量的值通常不会有问题,但是还是存在可能性,如果有一个局部变量或参数与你要访问的全局变量同名,就无法直接访问全局变量,因为他被局部变量遮住了。如果需要可以用函数global
global关键字
global的作用就是把局部变量提升为全局变量
格式:
def 函数名():
global 变量名
函数功能代码...
示例:
def funName():
global name #如果不使用global关键字,外部是无法访问变量name的。
name = 'dragon'
funName() #调用
print(name) #尝试访问内部函数
'''注释:
global只有在函数内部对变量进行全局声明,该变量才是一个完整的全局变量(在函数外部可以对该变量进行任意操作)。
'''