一、局部变量
1 def test(name): 2 print("before change:",name) 3 name = "maqing" #局部变量name,只能在这个函数内生效,这个函数就是这个变量的作用域 4 print("after change:",name) 5 6 name = "peilin" 7 print("-----调用test-----") 8 test(name) 9 print("------打印name----") 10 print(name) 11 12 #输出 13 -----调用test----- 14 before change: peilin 15 after change: maqing #局部变量生效 16 ------打印name---- 17 peilin
二、全局变量
1 school = "oldboy edu" #定义全局变量 2 3 def test_1(): 4 print("school:",school) 5 6 def test_2(): 7 school = "maqing " 8 print("school:",school) 9 10 print("------test_1----") 11 test_1() 12 print("------test_2----") 13 test_2() 14 print("----打印school--") 15 print("school:",school) 16 17 #输出 18 ------test_1---- 19 school: oldboy edu #打印的是全局变量 20 ------test_2---- 21 school: maqing #打印局部变量 22 ----打印school-- 23 school: oldboy edu #打印全局变量
全局与局部变量
在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。
全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。
当全局变量与局部变量同名时:
在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。
总结:
- 在子程序(函数)中定义的变量称为局部变量,在程序一开始定义的变量称为全局变量。
- 全局变量的作用域是整个程序,局部变量的作用域是定义该变量的子程序(函数)。
- 当全局变量和局部变量同名时:在定义局部变量的子程序内,局部变量起作用;在其他地方,全局变量起作用。