Python中的global關鍵字
Python程式中不同的變數具有不同的作用域。根據變數的宣告位置,它可能在函式內部可訪問,也可能不可訪問。有時我們需要從其當前作用域外部修改函式內部存在的變數。在這種情況下,我們使用global關鍵字以及變數名。
以下是關於global關鍵字的關鍵點:
在函式外部宣告的變數預設為全域性變數。
我們對函式內部的變數使用global關鍵字,以便可以修改它。
如果沒有global關鍵字,函式內部的變數預設為區域性變數。
無global關鍵字
在下面的例子中,我們將看到在沒有global關鍵字的情況下變數是如何變化的。這將幫助我們理解在下一個程式中global關鍵字有何不同。在下面的例子中,我們試圖在函式內部修改全域性變數。但是會發生錯誤,因為我們不能在函式內部修改全域性變數。
示例
var = 321 # function to modify the variable def modify(): var = var * 2 print(var) # calling the function modify()
輸出
執行以上程式碼將得到以下結果:
UnboundLocalError: local variable 'var' referenced before assignment
使用global關鍵字
現在我們在函式內部宣告變數以及global關鍵字。這使得變數可修改。
示例
var = 321 # function to modify the variable def modify(): global var var = var * 2 print(var) # calling the function modify()
輸出
執行以上程式碼將得到以下結果:
642
巢狀函式中的global關鍵字
如果我們必須使用巢狀函式,則必須在內部函式中宣告global關鍵字,以便可以修改變數。
示例
def outer_func(): var = 321 # function to modify the variable def modify(): global var var = var * 2 print(var) # calling the function modify() outer_func()
輸出
執行以上程式碼將得到以下結果:
642
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP