python全域性變數-區域性變數區別及用法
阿新 • • 發佈:2019-01-23
對於很多初學的同學,對全域性和區域性變數容易混淆,看看下面給大家的講解相信都應該明白
兩者的區別了。
定義:
全域性變數:在模組內、在所有函式的外面、在class外面
區域性變數:在函式內、在class的方法內
下面來看看例子
一、函式內部呼叫全域性變數
a="hello" #全域性變數a def test(): global a#呼叫全域性變數a b =a#test方法裡之後再呼叫a時,都是全域性的a print(b,a) test()
在test函式裡呼叫全域性變數a,看看執行後的結果
執行後都是全域性變數的值hello
二、函式內部使用與全域性變數同名的區域性變數
a="hello"
#全域性變數a
def test():
a="hell0 local"
#定義了一個區域性變數a
b =a
#test方法裡之後再呼叫a時,都是區域性的a
print(b+",",a)
test()
這裡在函式test裡面再定義了一個a,這個a就為區域性變量了,之後在test裡呼叫的a全都是區域性的a。看看執行結果:
三、函式內部修改全域性變數值
a="hello" #全域性變數a def test(): global a a="hell0 global" #修改全域性變數a的值b =a#test方法之裡後再呼叫a時,都是全域性的a print(b+",",a) test()
在函式test裡面先宣告用的是全域性的a,然後對a進行修改,就等於是修改了全域性變數a的值。
看看執行結果:
注:在方法內部的變數是在=號前面的,那肯定是區域性變數。如果是第一次出現在=號後
面的,那肯定是呼叫的全域性變數;全域性變數可以在函式裡面呼叫,區域性變數只能在對應的函
數裡面呼叫,在該函式外面任何地方都無法被呼叫。
有問題加QQ群交流610845268