怎樣來理解與

你可以這樣來理解,在做一個大的項目,裏面有50個人在做,在這個公司,突然有個部分任務很急,公司的50個人也忙得不可開交,沒辦法,所以只能從外面請來了5個人來管理。


到最後,整個大的項目完成了,那5個人走了,原有的公司還是50人。只是在項目過程中的某一部分有55個人。

全局變量就相當於,公司的55個人,而局部變量了,就相當於是那5個人。

在發一個代碼:你一看就知道是怎麼回事了:

def func(x): 
    print 'x is', x      .......①:第一次打印的值
    x = 2 
    print 'Changed local x to', x  ........②:第二次打印的值


x = 50 
func(x) 
print 'x is still', x                 ..........③:第三次打印的值



輸出 的結果是

①:  x is 50 
②:Changed local x to 2 
③:x is still 50  



它如何工作 


在函數中,我們第一次使用x的 值 的時候,Python使用函數聲明的形參的值。 


接下來,我們把值2賦給x。x是函數的局部變量。所以,當我們在函數內改變x的值的時候,在 
主塊中定義的x不受影響。 


在最後一個print語句中,我們證明了主塊中的x的值確實沒有受到影響。 


使用global語句 


如果你想要爲一個定義在函數外的變量賦值,那麼你就得告訴Python這個變量名不是局部的, 
而是 全局 的。我們使用global語句完成這一功能。沒有global語句,是不可能爲定義在函數外 
的變量賦值的。 


你可以使用定義在函數外的變量的值(假設在函數內沒有同名的變量)。然而,我並不鼓勵你 
這樣做,並且你應該儘量避免這樣做,因爲這使得程序的讀者會不清楚這個變量是在哪裏定義 
的。使用global語句可以清楚地表明變量是在外面的塊定義的。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章