一、定义
全局变量:没有缩进,一般该变量名为全部大写,整个文件都可调用
局部变量:在程序里定义,子程序定义的变量,一般该变量名为小写命名
1)函数中无global时,优先读取局部变量,能读取全局变量,无法对全局变量重新赋值,但对于可变类型,可以对其内部元素进行操作
2)如果有global时,变量本质就是全局变量,可以读取可以赋值
3)函数与函数之间可嵌套
4)解释器从上到下运行,遇到函数只编译不执行
5)找变量时,先从自己当前作用域开始查找
二、各种场景样例
global全局变量、nonlocal上一级变量
name=["娜娜","丽丽"]
def change_name():globalname
name="cc"print("我的名字",name)
def name1():
name.append("QQ")
print("她的名字",name)
name1() #先执行
change_name() #后执行
结果:
她的名字 ['娜娜', '丽丽', 'QQ']
我的名字 cc
2.1 多个函数时,同级函数从上而下执行
方式一:先执行change_name函数,再执行name1函数
name=["娜娜","丽丽"]