Zrozumieć zakres zmiennych globalnych w Pythonie

Zrozumieć zakres zmiennych globalnych w Pythonie
Dwa rodzaje zmiennych można zdefiniować w większości języków programowania. Są to zmienne globalne i zmienne lokalne. Zmienne zdefiniowane poza funkcją nazywa się zmienną globalną. Ta zmienna jest dostępna i zmienna z dowolnego miejsca w skrypcie. Zmienna deklarowana wewnątrz funkcji nazywa się zmienną lokalną. Ale jeśli ta sama nazwa zmiennej istnieje, co zmienne globalne i lokalne, zmienna wewnątrz funkcji otrzyma priorytet, a wartość zmiennej globalnej zostanie zignorowana. Zakres zmiennej globalnej w skrypcie Python pokazano w tym samouczku przy użyciu różnych przykładów.

Przykład-1: Proste użycie zmiennej globalnej

Poniższy przykład pokazuje proste użycie zmiennej globalnej w funkcji i poza funkcją. Tutaj nazywana zmienna globalna tekst służy do przypisania danych ciągów. Niestandardowa funkcja wymieniona printmessage () jest zdefiniowane w celu wydrukowania wartości zmiennej globalnej. Wartość tekst Zmienna jest drukowana w funkcji i poza funkcją po zmianie wartości.

#!/usr/bin/env python3
# Zdefiniuj zmienną globalną
Text = "Witamy w Linuxhint"
# Zdefiniuj funkcję
def printmessage ():
# Wydrukuj zmienną globalną z funkcji
Drukuj („zmienna globalna funkcja wewnątrz: \ n”, tekst)
# Wywołaj funkcję
printmessage ()
# Zmień wartość zmiennej globalnej
text = "Naucz się programowania Pythona"
# Wydrukuj bieżącą wartość zmiennej globalnej
Drukuj („zmienna globalna funkcja zewnętrzna: \ n”, tekst)

Wyjście:

Następujące dane wyjściowe pojawią się po uruchomieniu skryptu. Wydrukował wartość ”Witamy w Linuxhint ' To jest przypisane do zmiennej przed wywołaniem funkcji. Następnie wydrukował wartość, „Naucz się programowania Pythona” Po zmianie wartości zmiennej.

Przykład-2: użycie zmiennej globalnej i lokalnej o tej samej nazwie

Jeśli chcesz zadeklarować nazwę zmiennej wewnątrz funkcji, która jest już zadeklarowana jako zmienna globalna przed Pythonem i chcesz użyć zmiennej, będzie traktować zmienną jako zmienną lokalną i wygeneruje błąd. Poniższy skrypt wyświetli błąd. Tutaj, tekst Zmienna jest definiowana jako zmienna globalna i lokalna.

#!/usr/bin/env python3
# Zdefiniuj zmienną globalną
Text = "Lubię Pythona"
# Zdefiniuj funkcję
def printmessage ():
Drukuj (tekst)
Text = "Lubię PHP"
# Wywołaj funkcję
printmessage ()

Wyjście:

Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.

Aby uniknąć powyższej sytuacji, a jeśli chcesz ogłosić zmienną lokalną o tej samej nazwie co zmienna globalna, musisz najpierw przypisać zmienną lokalną w funkcji. Poniższy skrypt pokazuje, że zmiany zmiennej lokalnej nie wprowadzają żadnych zmian w zmiennej globalnej. tekst zmienna jest drukowana wewnątrz i na zewnątrz funkcji tutaj.

#!/usr/bin/env python3
# Zdefiniuj zmienną globalną
Text = "Lubię Pythona"
# Zdefiniuj funkcję
def printmessage ():
# Degine Lokalna wartość
Text = "Lubię PHP"
# Wydrukuj zmienną lokalną, tekst
wydrukuj („Wartość„ tekstu ”Funkcja wewnątrz: \ n”, tekst)
# Wywołaj funkcję
printmessage ()
# Wydrukuj zmienną globalną, tekst
wydrukuj („Wartość„ tekstu ”funkcja zewnętrzna: \ n”, tekst)

Wyjście:

Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.

Przykład-3: użycie zmiennej globalnej w funkcji

Poprzedni przykład pokazuje, że zmienna globalna nie jest dostępna wewnątrz funkcji. Możesz użyć globalny Słowo kluczowe, aby uzyskać dostęp do zmiennej globalnej z dowolnej funkcji. W następującym skrypcie, cal_percentage () Funkcja jest zdefiniowana w celu obliczenia procentu dowolnej liczby, w której stosowane są zarówno zmienne globalne, jak i lokalne. Tutaj, num jest zmienną globalną i Perval jest zmienną lokalną. światowy Słowo kluczowe jest tutaj używane do identyfikacji zmiennej globalnej wewnątrz funkcji, a wartość zmiennej globalnej jest zmieniana wewnątrz funkcji.

#!/usr/bin/env python3
# Weź wartość liczb całkowitych
num = int (input („Wprowadź numer:”))
# Zdefiniuj funkcję
def cal_percentage ():
# Rozpoznaj zmienną globalną za pomocą globalnego słowa kluczowego
Global Num
# Weź wartość liczb całkowitą jako procent
Perval = int (input („Wprowadź wartość procentową:”))
# Oblicz wartość procentową
wynik = float ((num * perval)/100)
# Wydrukuj sformatowany wynik
Drukuj („ %d procent %d = %f” %(Perval, NUM, wynik))
# Zmień wartość zmiennej globalnej
num = 500
# Wydrukuj wartość zmiennej globalnej przed wywołaniem funkcji
wydrukuj („\ n Wartość num = %d” %num)
# Wywołaj funkcję
cal_percentage ()
# Wydrukuj wartość zmiennej globalnej po wywołaniu funkcji
wydrukuj („\ n Wartość num = %d” %num)

Wyjście:

Następujące dane wyjściowe pojawią się po uruchomieniu skryptu. Tutaj obliczane i drukowane jest 10% z 350.

Przykład-4: użycie globalnych zmiennych z innego skryptu

Poniższy przykład pokazuje, że zmienną globalną zadeklarowaną w jednym skrypcie można użyć w innym skrypcie. Załóżmy, że nazwa pliku jest Global6.py które wykorzystają zmienne globalne zdefiniowane w nazwanym pliku Global5.py. Trzy zmienne globalne są zadeklarowane w Global5.py. Musisz zaimportować Global5 używać zmiennych w innym skrypcie. Skrypt Global6.py obliczy pensję trzech rodzajów pracowników na podstawie wartości wejściowych i zmiennych globalnych.

#!/usr/bin/env python3
# To jest global5.plik py
# Podstawowa struktura wynagrodzeń firmy
Podstawowy = 5000
Medyczne = 500
Transport = 500 #!/usr/bin/env python3
# To jest global6.plik py
# Importuj zmienne globalne z Global5.py
Import Global5
# Weź nazwę pracownika
name = input („Wprowadź nazwę pracownika:”)
# Weź nazwę postu
post = wejście („Wprowadź post:”)
# Zainicjuj zmienną błędu
błąd = false
# Sprawdź post i ustaw podstawowe wynagrodzenie na podstawie postu
if (post.Upper () == „CEO”):
podstawowe = global5.Basic + (global5.Podstawowy*0.4)
Elif (post.Upper () == „menedżer”):
podstawowe = global5.Basic + (global5.Podstawowy*0.25)
Elif (post.Upper () == „księgowy”):
podstawowe = global5.Basic + (global5.Podstawowy*0.15)
w przeciwnym razie:
# Ustaw błąd na true, jeśli wartość postu nie znaleziono
błąd = prawda
# Wydrukuj pensję, jeśli błąd jest flazą
if (error == false):
wynagrodzenie = podstawowe + global5.Medical + Global5.Transport
Drukuj („wynagrodzenie %s to %d” %(nazwa, pensja))
w przeciwnym razie:
Drukuj („Post nie znaleziono”)

Wyjście:

Następujące dane wyjściowe pojawią się po uruchomieniu skryptu. Tutaj skrypt jest uruchamiany dwa razy z prawidłowym postem i nieprawidłowym postem.

Wniosek:

Pojęcie globalnej zmiennej w Pythonie wyjaśniono w tym samouczku z różnymi prostymi przykładami dla nowych użytkowników Pythona. Mam nadzieję, że czytelnicy otrzymają właściwą wiedzę na temat zmiennych globalnych, a także zmiennych lokalnych po przeczytaniu tego samouczka.

Obejrzyj wideo autora: tutaj