Python 全域性和區域性變數
變數有兩種型別: 全域性變數和區域性變數。
可以在程式碼中的任何位置訪問全域性變數,僅在本地作用域可以訪問的是本地變數。
區域性變數
區域性變數只能在其範圍內可以訪問。
下面的示例有兩個區域性變數:x
和 y
。
def sum(x,y):
sum = x + y
return sum
print(sum(8,6))
變數 x
和 y
只能在函式 sum
中使用,它們不會在函式外部被訪問。
區域性變數不能在其範圍之外使用,此行不起作用:
print(x)
全域性變數
全域性變數可以在程式碼中的任何位置使用。
在下面的示例中,我們定義了一個全域性變數 z
。
z = 10
def afunction():
global z
print(z)
afunction()
print(z)
全域性變數 z
可以在整個程式、內部函式或外部來使用。
可以在函式內修改全域性變數並更改整個程式:
z = 10
def afunction():
global z
z = 9
afunction()
print(z)
在呼叫 fiunction()
之後,整個程式的全域性變數被更改。
練習
區域性變數和全域性變數可以在同一程式中一起使用。
來確定下下面程式的輸出:
z = 10
def func1():
global z
z = 3
def func2(x,y):
global z
return x+y+z
func1()
total = func2(4,5)
print(total)