天天看點

python全局變量-局部變量用法和差別

對于很多初學的同學,對全局和局部變量容易混淆,看看下面給大家的講解相信都應該明白

兩者的差別了。

定義:

全局變量:在子產品内、在所有函數的外面、在class外面

局部變量:在函數内、在class的方法内

下面來看看例子

函數内部調用全局變量

在test函數裡調用全局變量a,看看運作後的結果

<a href="https://s1.51cto.com/oss/201711/13/3f8376ea0b65d3b5f5a220194a9ca838.jpg-wh_500x0-wm_3-wmp_4-s_4037831910.jpg" target="_blank"></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 href="https://s1.51cto.com/oss/201711/13/9ad522d1daff3fc9b72f1303ea8642ea.jpg-wh_500x0-wm_3-wmp_4-s_3765295846.jpg" target="_blank"></a>

函數内部修改全局變量值

在函數test裡面先聲明用的是全局的a,然後對a進行修改,就等于是修改了全局變量a的值。

看看運作結果:

<a href="https://s1.51cto.com/oss/201711/13/10ba1d3d18cf66a41b0e674ec34f630d.jpg-wh_500x0-wm_3-wmp_4-s_2077495136.jpg" target="_blank"></a>

   注:在方法内部的變量是在=号前面的,那肯定是局部變量。如果是第一次出現在=号後

面的,那肯定是調用的全局變量;全局變量可以在函數裡面調用,局部變量隻能在對應的函

數裡面調用,在該函數外面任何地方都無法被調用。

本文轉自niedongri 51CTO部落格,原文連結:http://blog.51cto.com/laomomo/1981193,如需轉載請自行聯系原作者