python中的global 學習記錄

2021-10-06 19:21:55 字數 686 閱讀 5529

以往寫python**,也沒有用到過這個關鍵字。今天小接觸了一下,把學習到東西分享給大家。

看一下下面這一段**:

num='9'

def test2():

global num

print(num)

num='0'

test2()

print(num)

執行結果:

函式內,使用了global關鍵字宣告了變數num,注意,這個num因為有了global修飾,因此,它是乙個全域性變數,而非區域性變數。和函式外定義的num效果一樣。函式內的所有num此時都是全域性變數,因此函式內賦值0後,函式外呼叫時,其值是0.

再看下面一段**:

def test3():

global c

c="100"

print(c)

test3()

print(c)

執行結果:

100 (由函式內的語句輸出)

100 (由函式外的語句輸出)

分析上面這段**,函式內由global關鍵字定義了全域性變數c,因此,函式外呼叫這個c 並不會出現語法錯誤。這個c由global宣告後,就在全域性範圍內起作用了,任何地方都可以呼叫。

ok,說的有些囉嗦,但掌握了就好。

後續再有用到,會繼續記錄,分享給大家。

python 中global的用法

python中定義函式時,若想在函式內部對函式外的變數進行操作,就需要在函式內部宣告其為global。例子1x 1 def func x 2 func print x 輸出 1 此時沒有使用global關鍵字,無法對全域性變數num進行修改 在func函式中並未在x前面加global,所以func函...

Python中global與nonlocal 宣告

如下 a 10 def foo a 100 執行foo 結果 a 還是10 函式中對變數的賦值,變數始終繫結到該函式的區域性命名空間,使用global 語句可以改變這種行為。a 10 def foo global a a 100 a 10 foo a 100 解析名稱時首先檢查區域性作用域,然後由內...

python中global和nonlocal的使用

global 在區域性訪問全域性中的內容 nonlocal 在區域性尋找外層函式中離他最近的那個變數 globals 檢視全域性中的內容 locals 檢視當前作用域中的內容 1 global的使用 全域性變數本身就是不安全的,不能隨意修改,可以使用閉包 a 10 deffunc return gl...