作用域就是变量的有效范围。
Python变量按照作用域分类
Python对变量划分为局部变量和全局变量。
局部变量英文叫做:Local
全局变量英文叫做:Global
局部变量是以函数内部定义的变量,或者函数的参数为标准。
全局变量,则是所有函数外部定义的变量。
使用global关键字声明全局变量
在函数内使用,声明某一个变量为外部的变量。 在使用 global 关键字修饰变量名时,不能直接给变量赋初值。
全局变量与局部变量的引用
globals()方法
返回一个包含全局范围内所有变量的字典。
例如:
Pyname = "Python教程"
def text():
#局部变量
Shename = "shell教程"
print(globals())
执行结果显示包括Pyname在内的全局变量
locals()方法
得到一个包含当前作用域内所有变量的字典。
在函数内部调用 locals() 函数,会获得包含所有局部变量的字典;
而在全局范围内调用 locals() 函数,其功能和 globals() 函数相同。
vars(object)方法
返回一个指定 object 对象范围内所有变量组成的字典。
如果不传入object 参数,vars() 和 locals() 的作用完全相同。