python中全域性變數與區域性變數

2021-09-11 16:59:17 字數 915 閱讀 3917

標籤:python

比如:

a = 1

def f():

b = 2

其中a就是全域性變數,而b是區域性變數。區域性變數只在函式體內部有效,出了函式體,外面是訪問不到的,而全域性變數則對下面的**都有效。

全域性變數可以直接在函式體內容部使用的,你可以直接訪問,但是注意的是,如果對於不可變型別的資料,如果在函式裡面進行了賦值操作,則對外面的全域性變數不產生影響,因為相當於新建了乙個區域性變數,只是名字和全域性一樣,而對於可變型別,如果使用賦值語句,同樣對外部不產生影響,但是使用方法的話就會對外部產生影響。

如下面的**:

g_b =

3;g_l1 =[1

,2];g_l2 =[1

,2,3

]deft1(

):g_b =

2 g_l1 =

7)t1(g_b,g_l1,g_l2)

print

(g_b,g_l1,g_l2)

上面說到,如果使用的是賦值語句,在函式內部相當於新建了乙個變數,並且重新給了指向,但是有時候我們想把這個變數就是外部的那個全域性變數,在賦值操作的時候,就是對全域性變數給了重新的指向,這個時候可以通過global關鍵字表示我在函式裡面的這個變數是使用的全域性那個。使用方法如下:

g_b =

3deft1(

):global g_b

g_b =

2t1(

)print

(g_b)

這個時候你會發現全域性變數g_b也重新指向了,這是因為global gb表示指定了函式中的g_b就是外面的那個。

javascript複習 全域性變數與區域性變數

全域性變數 global variable 可以在宣告它的指令碼中任何位置引用它。區域性變數 local variable 只存在於對它做出宣告的函式內部。因此在函式內部我們既可以使用全域性變數也可以使用這個函式的區域性變數。這可能會導致一些問題。如果在函式內部不小心使用了全域性變數的名字,即使本意...

static全域性 區域性變數,全域性變數及區域性變數

1 static變數和全域性變數都是分配在 靜態儲存區 2 static全域性變數 static區域性變數 全域性變數和區域性變數區別 他們都是分配在 靜態儲存區內,都是在程式開始的時候初始化的,他們的區別是作用域不同,static全域性變數作用域是在申明所在的檔案中,而全域性變數是全域性的,其他檔...

python基礎學習十一 全域性變數與區域性變數

變數作用域指的是變數生效的範圍,主要分為兩類 區域性變數和全域性變數。所謂區域性變數是定義在函式體內部的變數,即只在函式體內部生效。def testa a 100print a testa 100 print a 報錯 name a is not defined變數a是定義在 testa 函式內部的...