局部变量:在局部生效的,出了这个变量的作用域,这个变量就失效了。函数内部定义的变量就是局部变量,函数运行完就释放该变量内存
全局变量:在整个程序里面都生效的,在程序最前面定义的都是全局变量,全局变量如果要在函数中修改的话,需要加global关键字声明,如果是list、字典和集合的话,则不需要加global关键字,直接就可以修改 。
尽量少用全局变量,原因:1、若全局变量被修改,影响较大;2、全局变量在python文件运行完才会释放,占内存
name =‘wangchan‘ #全局变量 每个函数里面都能用 def get_name(): global name #说明要改的是全局变量(string和元组需要声明,list、dic不用) 尽量少用全局变量 name =‘hailong‘ #局部变量--在函数内部定义的变量 只能在该函数中用 print(‘函数里面的name:‘,name) def get_name2(): print(‘get_name2:‘,name) get_name2() #wangchan get_name() #hailong print(‘函数外面的name:‘,name) #hailong
1 def test(): 2 global a 3 a=5 4 def test1(): 5 c=a+5 6 return c 7 8 res=test1() 9 print(res) #报错(NameError: name ‘a‘ is not defined),因为test()函数没有执行,a还没有定义
1 def test(): 2 global a 3 a=5 4 def test1(): 5 c=a+5 6 return c 7 8 test() #test()执行过程中定义了全局变量a 9 res=test1() 10 print(res) #10
原文地址:https://www.cnblogs.com/HathawayLee/p/9623470.html
时间: 2024-10-10 01:53:17