python的變數是存在作用域的,在代碼中不同位置的變數作用的范圍會有所不同,比如有的變數在整段代碼中都可以使用,有的變數卻只在函式內部使用,python中把能夠在整段代碼任意位置有效的變數稱為全域變數,只在函式內部使用的變數稱作區域變數,
全域變數:
a = 520 #此時a作為全域變數 def fuction(): print('函式內部列印結果:',a) fuction() print('函式之外列印輸出:',a) #列印結果展示 #函式內部列印結果: 520 #函式之外列印輸出: 520
區域變數:
def function02(): a = 521 print('函式內部列印結果:',a) function02() print('函式之外列印輸出:',a)
# 列印結果展示
# 函式內部列印結果: 521 # Traceback (most recent call last): # File "E:/python/老男孩視頻教學/代做課設/demo02.py", line 22, in <module> # print('函式之外列印輸出:',a) # NameError: name 'a' is not defined
我們發現當變數只在函式內部賦值時,在函式之外如果對其列印的話會報錯,顯示變數并沒有被定義,因為其作用域只是在函式內部,當函式執行之后就會被釋放,在函式之外相當于沒有定義,
然而在一些特定場景中,我們需要獲取函式內部定義的變數時,換句話就是如何讓上述關于區域變數的代碼運行不報錯,這里我們介紹global關鍵字解決上述問題,global關鍵字的作用:宣告變數var是全域的,例如:
def function02(): global a a = 521 print('函式內部列印結果:',a) function02() print('函式之外列印輸出:',a) # #列印結果展示 # # #函式內部列印結果: 521 # #函式之外列印輸出: 521
從運行結果可以看到即使在函式內部定義的變數,在使用global關鍵字申明后即使在函式之外對變數參考也不會報錯,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/141165.html
標籤:Python
上一篇:用Python做詞云可視化帶你分析海賊王、火影和死神三大經典動漫
下一篇:Python裝飾器的一點解讀
