以往寫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...