Pochopte rozsah globálnych premenných v pythone

Understand Global Variables Scope Python



Vo väčšine programovacích jazykov je možné definovať dva typy premenných. Ide o globálne a lokálne premenné. Premenné, ktoré sú definované mimo funkcie, sa nazývajú globálne. Táto premenná je prístupná a meniteľná odkiaľkoľvek v skripte. Premenná, ktorá je deklarovaná vo funkcii, sa nazýva lokálna premenná. Ak však existuje rovnaký názov premennej ako globálne a lokálne premenné, potom premenná vo funkcii dostane prioritu a hodnota globálnej premennej bude ignorovaná. Rozsah globálnej premennej v pythonovom skripte je v tomto návode znázornený na rôznych príkladoch.

Príklad 1: Jednoduché použitie globálnej premennej

Nasledujúci príklad ukazuje jednoduché použitie globálnej premennej vo funkcii a mimo nej. Tu je pomenovaná globálna premenná text slúži na priradenie reťazcových údajov. Vlastná funkcia s názvom printMessage () je definovaný na vytlačenie hodnoty globálnej premennej. Hodnota súboru text premenná sa vytlačí vo funkcii aj mimo nej po zmene hodnoty.







#!/usr/bin/env python3

# Definujte globálnu premennú
text= „Vitajte v LinuxHint“

# Definujte funkciu
defprintMessage():

# Vytlačte globálnu premennú z funkcie
vytlačiť(„Globálna premenná vo funkcii: n',text)

# Zavolajte funkciu
printMessage()

# Zmeňte hodnotu globálnej premennej
text= „Naučte sa programovať v Pythone“

# Vytlačte aktuálnu hodnotu globálnej premennej
vytlačiť(„Globálna premenná mimo funkcie: n',text)

Výkon:



Po spustení skriptu sa zobrazí nasledujúci výstup. Vytlačilo hodnotu „ Vitajte v LinuxHint ‘ ktorá je priradená k premennej pred volaním funkcie. Ďalej vytlačila hodnotu, „Naučte sa programovať v Pythone“ po zmene hodnoty premennej.







Príklad 2: Použitie globálnej a lokálnej premennej s rovnakým názvom

Ak chcete deklarovať názov premennej vo funkcii, ktorá už bola v pythone deklarovaná ako globálna premenná, a chcete premennú použiť, bude s premennou zaobchádzať ako s lokálnou premennou a generovať chybu. Nasledujúci skript zobrazí chybu. Tu, text premenná je definovaná ako globálna a lokálna premenná.

#!/usr/bin/env python3

# Definujte globálnu premennú
text= „Páči sa mi Python“

# Definujte funkciu
defprintMessage():
vytlačiť(text)

text= „Mám rád PHP“

# Zavolajte funkciu
printMessage()

Výkon:



Po spustení skriptu sa zobrazí nasledujúci výstup.

Aby ste sa vyhli vyššie uvedenej situácii a ak chcete deklarovať lokálnu premennú s rovnakým názvom ako globálnu premennú, musíte najskôr priradiť lokálnu premennú vo funkcii. Nasledujúci skript ukazuje, že zmeny v lokálnej premennej nevykonajú žiadnu zmenu v globálnej premennej. text premenná sa tu vytlačí vo vnútri aj mimo funkcie.

#!/usr/bin/env python3

# Definujte globálnu premennú
text= „Páči sa mi Python“

# Definujte funkciu
defprintMessage():
# Odmastite miestnu hodnotu
text= „Mám rád PHP“
# Vytlačte lokálnu premennú, text
vytlačiť(„Hodnota“ textu ”vo funkcii: n',text)

# Zavolajte funkciu
printMessage()

# Vytlačte globálnu premennú, text
vytlačiť(„Hodnota funkcie„ text “mimo: n',text)

Výkon:

Po spustení skriptu sa zobrazí nasledujúci výstup.

Príklad 3: Použitie globálnej premennej vo funkcii

Predchádzajúci príklad ukazuje, že globálna premenná nie je dostupná vo funkcii. Môžeš použiť globálne kľúčové slovo na prístup ku globálnej premennej z akejkoľvek funkcie. V nasledujúcom skripte, cal_percentage () funkcia je definovaná na výpočet percenta z akéhokoľvek čísla, kde sa používajú globálne aj lokálne premenné. Tu, na jeden je globálna premenná a perVal je lokálna premenná. globálne Kľúčové slovo sa tu používa na identifikáciu globálnej premennej vo funkcii a hodnota globálnej premennej sa vo funkcii zmení.

#!/usr/bin/env python3

# Vezmite celočíselnú hodnotu
na jeden= int(vstup(„Zadajte číslo:“))

# Definujte funkciu
defcal_percentage():
# Rozpoznajte globálnu premennú pomocou globálneho kľúčového slova
globálnena jeden

# Celú hodnotu vezmite ako percento
perVal= int(vstup(„Zadajte percentuálnu hodnotu:“))

# Vypočítajte percentuálnu hodnotu
výsledok= plavák((či *perVal)/100)

# Vytlačte formátovaný výsledok
vytlačiť(' %d percento z %d = %f'%(perVal,na jeden,výsledok))

# Zmeňte hodnotu globálnej premennej
na jeden= 500

# Pred vyvolaním funkcie vytlačte hodnotu globálnej premennej
vytlačiť(' nHodnota num = %d '%na jeden)

# Zavolajte funkciu
cal_percentage()

# Po vyvolaní funkcie vytlačte hodnotu globálnej premennej
vytlačiť(' nHodnota num = %d '%na jeden)

Výkon:

Po spustení skriptu sa zobrazí nasledujúci výstup. Tu sa vypočíta a vytlačí 10% z 350.

Príklad 4: Použitie globálnych premenných z iného skriptu

Nasledujúci príklad ukazuje, ako je možné globálnu premennú deklarovanú v jednom skripte použiť v inom skripte. Predpokladajme, že názov súboru je global6.py ktoré budú používať globálne premenné definované v súbore s názvom global5.py . V sú uvedené tri globálne premenné global5.py . Musíte importovať globálne 5 použiť premenné v inom skripte. Scenár global6.py vypočíta plat troch typov zamestnancov na základe vstupných hodnôt a globálnych premenných.

#!/usr/bin/env python3
# toto je súbor global5.py

# Základná štruktúra platov spoločnosti
Základné= 5 000
Lekársky= 500
Doprava= 500 #!/usr/bin/env python3
# toto je súbor global6.py

# Importujte globálne premenné z global5.py
importglobálne 5

# Vezmite meno zamestnanca
názov= vstup(„Zadajte meno zamestnanca:“)
# Prevezmite názov príspevku
príspevok= vstup(„Zadajte príspevok:“)

# Inicializujte chybovú premennú
chyba= Falošné

# Skontrolujte príspevok a nastavte základný plat podľa príspevku
keby(príspevok.horná() == „Generálny riaditeľ“):
základné=globálne 5.Základné+(globálne 5.Základné*0,4)
elif(príspevok.horná() == „SPRÁVCA“):
základné=globálne 5.Základné+(globálne 5.Základné*0,25)
elif(príspevok.horná() == „ÚČTOVNÍK“):
základné=globálne 5.Základné+(globálne 5.Základné*0,15)
inak:
# Nastaviť chybu na true, ak sa nenašla hodnota príspevku
chyba= Pravda

# Vytlačte plat, ak je chyba falošná
keby (chyba== Falošné):
plat=základné + globálne 5.Lekársky+ globálne 5.Doprava
vytlačiť(„Plat %s je %d“%(názov,plat))
inak:
vytlačiť(„Príspevok sa nenašiel“)

Výkon:

Po spustení skriptu sa zobrazí nasledujúci výstup. Tu sa skript spustí dvakrát s platným príspevkom a neplatným príspevkom.

Záver:

V tomto návode je vysvetlený koncept globálnej premennej v pythone s rôznymi jednoduchými príkladmi pre nových používateľov pythonu. Dúfam, že čitatelia získajú správne znalosti o globálnych a lokálnych premenných po prečítaní tohto tutoriálu.

Pozrite si autorské video: tu