1. 程式人生 > >python全域性變數-區域性變數區別及用法

python全域性變數-區域性變數區別及用法

對於很多初學的同學,對全域性和區域性變數容易混淆,看看下面給大家的講解相信都應該明白

兩者的區別了。

定義:

全域性變數:在模組內、在所有函式的外面、在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