您現在的位置是:首頁 > 寵物首頁寵物

python中global的用法

由 欣兒說教育事 發表于 寵物2023-01-04
簡介如果沒有global語句,就不可能給函式外部定義的變數賦值

python中的global什麼意思

global是Python中的全域性變數關鍵字。變數分為區域性變數與全域性變數,區域性變數又可稱之為內部變數。由某物件或某個函式所建立的變數通常都是區域性變數,只能被內部引用,而無法被其它物件或函式引用,全域性變數既可以是某物件函式建立,也可以是在本程式任何地方建立。全域性變數是可以被本程式所有物件或函式引用,global關鍵字的作用是可以使得一個區域性變數為全域性變數。

python中global的用法

全域性語句是應用於當前整個程式碼塊的語句。它是一個全域性變數的識別符號。如果在本地名稱空間中沒有定義名稱,將自動使用相應的全域性名稱。如果沒有global,就不可能手工指定一個名稱是全域性的。出現在global中的名稱不能用在global之前的程式碼中。出現在global中的名字不能用作形參、迴圈,的受控物件,也不能用在類定義、函式定義和import語句中。

global語句用於將特定變數命名為全域性範圍,並重新繫結它。非區域性語句用於指示特定變數是一個封閉的作用域,並重新繫結它。全域性變數用於使我們能夠使用類或函式中的函式返回的變數,並執行復雜的計算過程。對於函式的區域性變數,只能在一個函式中食用。如果它需要跨越不同的函式或類,它需要在基本函式中返回值。只有在下一個函式中執行它的方法,才能獲得值進行計算。如果程式不復雜,一節課就能解決。全域性變數將為我們節省大量的時間和記憶體空間。

如果需要在函式內部改變函式外部的變數,可以在函式內部將變數宣告為全域性變數。這樣,當程式執行到全域性變數時,就會替換掉同名的外部變數。全域性語句是適用於當前整個程式碼塊的語句。它是一個全域性變數的識別符號。如果在本地名稱空間中沒有定義名稱,將自動使用相應的全域性名稱。如果沒有global,就不可能手工指定一個名稱是全域性的。出現在global中的名稱不能用在global之前的程式碼中。出現在global中的名字不能用作形參、迴圈,的受控物件,也不能用在類定義、函式定義和import語句中。全域性-將變數定義為全域性變數。它可以被定義為一個全域性變數來改變函式中的變數值。

寫程式的時候,如果要在函式之外重新賦值一個變數,而且這個變數會作用於很多函式,就需要告訴python這個變數的作用域是全域性變數。此時,全域性語句就可以成為這個任務,也就是說,沒有全域性語句,全域性變數就無法修改。在使用python的函式時,我們經常會遇到引數定義的問題。如果沒有宣告全域性變數,將會報告一個錯誤。

在函式定義中宣告變數時,它們與函式外部同名的其他變數無關,也就是說,變數名是函式的區域性變數。這被稱為變數的範圍。所有變數的範圍是定義它們的塊,從定義它們的名字的點開始。在函式中,當我們第一次使用x,的值Python使用了由函式宣告的引數的值。接下來,我們給給x賦值2,X是函式的區域性變數。因此,當我們改變函式中的x的值時,主程式塊中定義的x不會受到影響。在最後一個print語句中,我們證明了主塊中的x的值沒有受到影響。

如果你想給一個在函式外定義的變數賦值,那麼你必須告訴Python變數名不是區域性的,而是全域性的。我們使用全域性語句來完成這個功能。如果沒有global語句,就不可能給函式外部定義的變數賦值。可以使用函式外部定義的變數值(假設函式內部沒有同名的變數)。但是,你應該儘量避免這樣做,因為這會讓程式的讀者不清楚這個變數是在哪裡定義的。使用global語句可以清楚地表明變數是在外部塊中定義的。