1. 程式人生 > >python(10)——局部變量、全局變量

python(10)——局部變量、全局變量

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)——局部變量、全局變量