1. 程式人生 > >python全域性變數語句global

python全域性變數語句global

在python中使用函式體外的變數,可以使用global語句

變數可以是區域性域或者全域性域。定義在函式內的變數有區域性作用域,在一個模組中最高級別的變數有全域性作用域。

在編譯器理論裡著名的“龍書”中,阿霍、賽西和烏爾曼作了如下總結:

“宣告適用的程式的範圍被稱為了宣告的作用域。在一個過程中,如果名字在過程的宣告之內,它的出現即為過程的區域性變數;否則的話,出現即為非區域性”。

 

全域性變數的一個特徵是除非被刪除掉,否則它們的存活到指令碼執行結束,且對所有函式,他們的值都能被訪問到,然而區域性變數,就像它們存放的棧,

暫時地存放,僅僅只依賴於定義它們的函式現階段是否處於活動。當一個函式調用出現時,其區域性變數就進入宣告它們的作用域。

在那一刻,一個新的區域性變數名為那個物件建立了,一旦函式完成,框架被釋放,變數將會離開作用域。

def change_global():
    global x #global語言宣告x為全域性變數
    global y #global語言宣告y為全域性變數
    y = 2 
    print(x)
    x = 2



if __name__ == '__main__':
    x = 1
    print('x before changed') 
    change_global()
    print('x after changed')
    print
(x) print('y is {}'.format(y))