1. 程式人生 > >python中局部變量和全局變量

python中局部變量和全局變量

技術 不可變 clas 我們 答案 order 來源 mage 訪問

局部變量,就是在函數內部定義的變量

不同的函數,可以定義相同的名字的局部變量,但是各用個的不會產生影響

局部變量的作用,為了臨時保存數據需要在函數

在函數外邊定義的變量叫做全局變量

全局變量能夠在所有的函數中進行訪問

如果在函數中修改全局變量,那麽就需要使用global進行聲明,否則出錯

如果全局變量的名字和局部變量的名字相同,那麽使用的是局部變量的

  1. 局部變量:

    局部變量,就是在函數內部定義的變量

    不同的函數,可以定義相同的名字的局部變量,但是各用個的不會產生影響

    局部變量的作用,為了臨時保存數據需要在函數中定義變量來進行存儲,這就是它的作用

    1 def test1():

    2 a=111

    3 print("a=%d"%a)

    4 b=222

    5 print("b=%d"%b)

    6

    7 def test2():

    8 c=333

    9 print("c=%d"%c)

    技術分享圖片
  2. 全局變量

    如果一個變量,既能在一個函數中使用,也能在其他的函數中使用,這樣的變量就是全局變量

    1 a=200

    2 def test1():

    3 print(a)

    4

    5 def test2():

    6 print(a)

    7

    8 test1()

    9 test2()

    技術分享圖片
  3. 全局變量和局部變量名字相同問題

    #定義全局變量

    a=200

    def test1():

    a=300

    print("test1...修改前a=%d"%a)

    a=400

    print("test1...修改後a=%d"%a)

    def test2():

    print("test2....a=%d"%a)

    test1()

    test2()~

    技術分享圖片 技術分享圖片
  4. 修改全局變量

    既然全局變量,就是能夠在所以的函數中進行使用,那麽可否進行修改呢?

    答案是可以的,我們可以使用global

    技術分享圖片 技術分享圖片
  5. 總結:

    在函數外邊定義的變量叫做全局變量

    全局變量能夠在所有的函數中進行訪問

    如果在函數中修改全局變量,那麽就需要使用global進行聲明,否則出錯

    如果全局變量的名字和局部變量的名字相同,那麽使用的是局部變量的

  6. 可變類型的全局變量

    ~在函數中不使用global聲明全局變量時不能修改全局變量的本質是不能修改全 局變量的指向,即不能將全局變量指向新的數據。

    ~對於不可變類型的全局變量來說,因其指向的數據不能修改,所以不使用glob al時無法修改全局變量。

    ~對於可變類型的全局變量來說,因其指向的數據可以修改,所以不使用global 時也可修改全局變量

    技術分享圖片 技術分享圖片 來源:https://jingyan.baidu.com/article/c35dbcb097a97e8916fcbcdf.html

python中局部變量和全局變量