python中變數的作用域

2021-10-11 23:13:24 字數 942 閱讀 8584

變數的作用域

變數起作用的**範圍稱為變數的作用域,與變數定義的位置密切相關,按照作用域的不同,變數可分為區域性變數和全域性變數。

1.區域性變數

在函式內部定義的普通變數只在函式內部起作用,稱為區域性變數。當函式執行結束後,區域性變數自動刪除,不可以再使用,如例所示。

執行結果如圖所示。

2.全域性變數

如果需要在函式內部給乙個定義在函式外的變數賦值,那麼這個變數的作用域不能是區域性的,而應該是全域性的。能夠同時作用於函式內外的變數稱為全域性變數,它通過global關鍵字來宣告,如例所示。

此處需注意,如果不使用global宣告,則在函式中訪問的是區域性變數,如例所示。

此外,使用內建函式globals()與locals()可以檢視區域性變數與全域性變數,如例所示。

在例中,函式globals()與locals()分別返回乙個字典,通過列印字典中的元素,可以檢視全域性變數與區域性變數。另外,在函式內部可以通過global關鍵字直接將乙個變數宣告為全域性變數,即使在函式外沒有定義,則該函式執行後,這個變數將成為全域性變數,如本例中的變數z。

python中變數作用域

塊級作用域 if true a 10 變數沒有塊級作用域 print a 區域性作用域 只能在某一時刻才能使用 全域性作用域 num 20 def show 全域性變數在函式內部使用時,不能更改,num 10是你自己定義的變數 num 10 print num show print num 若更改需...

Python中變數作用域

在def中定義的變數都是區域性變數 def foo a 200print a def fooo a a 300print a fooo foo 執行得到 unboundlocalerror local variable a referenced before assignment也就是說在函式foo...

Python中變數的作用域

3 變數名解析legb法則 4 關鍵字global 在python程式中,建立,改變,查詢變數名的時候,都是在乙個儲存變數名的空間中進行,我們稱之為命名空間,也被稱之為作用域.簡單來說,變數的作用域就是指變數可以使用的範圍 程式的變數並不是在任意的位置都可以訪問,訪問許可權取決於這個變數是在 賦值的...