python(10)——局部變量、全局變量
阿新 • • 發佈:2018-09-11
code pri () int ilo 全局變量 span glob def
局部變量:在局部生效的,出了這個變量的作用域,這個變量就失效了。函數內部定義的變量就是局部變量,函數運行完就釋放該變量內存
全局變量:在整個程序裏面都生效的,在程序最前面定義的都是全局變量,全局變量如果要在函數中修改的話,需要加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
python(10)——局部變量、全局變量