全局变量:作用全局,所有的位置均可读
注意,所有的全局变量必须大写(默认规则) name = 'HAHA' def f1(): name = 's1' #局部变量name,只作用在f1()中 age = 18 print (name,age) def f2(): age=19 print (name,age) #当在函数内部未找到name时,检查是否为全局变量,如果是,直接输出全局变量的值 def f3(): global name #声明name为全局变量 name = 's2' #此时,对name的赋值,作用于全局,name被修改 age = 20 print (name,age) f1() print (name) f2() print (name) f3() print (name) 执行结果: s1 18 HAHA #全局变量name未修改 HAHA 19 HAHA s2 20 s2 #全局变量name修改为name
当全局变量为字典、列表时,可以被修改:
NAME = [11,22,33] def f1(): NAME = 's1' age = 18 print (NAME,age) def f2(): age=19 NAME.append(99) #通过append的方法,可以修改全局变量 print (NAME,age) f1() print (NAME) f2() print (NAME) 执行结果: s1 18 [11, 22, 33] [11, 22, 33, 99] 19 [11, 22, 33, 99]