Razumijevanje opsega globalnih varijabli u pythonu

Understand Global Variables Scope Python



U većini programskih jezika mogu se definirati dvije vrste varijabli. To su globalne i lokalne varijable. Varijable koje su definirane izvan funkcije nazivaju se globalne varijable. Ova je varijabla dostupna i promjenjiva s bilo kojeg mjesta u skripti. Varijabla koja je deklarirana unutar funkcije naziva se lokalna varijabla. No ako isti naziv varijable postoji kao globalne i lokalne varijable tada će varijabla unutar funkcije dobiti prioritet, a vrijednost globalne varijable će se zanemariti. Opseg globalne varijable u python skripti prikazan je u ovom vodiču pomoću različitih primjera.

Primjer-1: Jednostavno korištenje globalne varijable

Sljedeći primjer prikazuje jednostavno korištenje globalne varijable unutar funkcije i izvan nje. Ovdje, globalna varijabla pod nazivom tekst koristi se za dodjeljivanje podataka niza. Prilagođena funkcija nazvana printMessage () definirano je za ispis vrijednosti globalne varijable. Vrijednost tekst varijabla se ispisuje unutar funkcije i izvan funkcije nakon promjene vrijednosti.







#!/usr/bin/env python3

# Definirajte globalnu varijablu
tekst= 'Dobro došli u LinuxHint'

# Definirajte funkciju
defprintMessage():

# Ispišite globalnu varijablu iz funkcije
ispisati('Globalna varijabla unutar funkcije: n',tekst)

# Pozovite funkciju
printMessage()

# Promijenite vrijednost globalne varijable
tekst= 'Naučite programiranje na Pythonu'

# Ispišite trenutnu vrijednost globalne varijable
ispisati('Globalna varijabla izvan funkcije: n',tekst)

Izlaz:



Sljedeći izlaz pojavit će se nakon pokretanja skripte. Ispisala je vrijednost ' Dobro došli u LinuxHint ' koja je dodijeljena varijabli prije pozivanja funkcije. Zatim je ispisala vrijednost, 'Naučite programiranje na Pythonu' nakon promjene vrijednosti varijable.







Primjer 2: Upotreba globalne i lokalne varijable s istim imenom

Ako želite proglasiti naziv varijable unutar funkcije koja je već ranije bila deklarirana kao globalna varijabla u pythonu i želite koristiti varijablu tada će varijablu tretirati kao lokalnu varijablu i generirati pogrešku. Sljedeća skripta prikazat će pogrešku. Ovdje, tekst varijabla je definirana kao globalna i lokalna varijabla.

#!/usr/bin/env python3

# Definirajte globalnu varijablu
tekst= 'Sviđa mi se Python'

# Definirajte funkciju
defprintMessage():
ispisati(tekst)

tekst= 'Sviđa mi se PHP'

# Pozovite funkciju
printMessage()

Izlaz:



Sljedeći izlaz pojavit će se nakon pokretanja skripte.

Da biste izbjegli gornju situaciju i ako želite proglasiti lokalnu varijablu s istim imenom kao globalna varijabla, tada morate dodijeliti lokalnu varijablu unutar funkcije. Sljedeća skripta pokazuje da promjene u lokalnoj varijabli ne mijenjaju globalnu varijablu. tekst varijabla se ispisuje unutar i izvan funkcije ovdje.

#!/usr/bin/env python3

# Definirajte globalnu varijablu
tekst= 'Sviđa mi se Python'

# Definirajte funkciju
defprintMessage():
# Zamislite lokalnu vrijednost
tekst= 'Sviđa mi se PHP'
# Ispišite lokalnu varijablu, tekst
ispisati('Vrijednost' teksta 'unutar funkcije: n',tekst)

# Pozovite funkciju
printMessage()

# Ispišite globalnu varijablu, tekst
ispisati('Vrijednost' teksta 'izvan funkcije: n',tekst)

Izlaz:

Sljedeći izlaz pojavit će se nakon pokretanja skripte.

Primjer-3: Upotreba globalne varijable unutar funkcije

Prethodni primjer pokazuje da globalna varijabla nije dostupna unutar funkcije. Možeš koristiti globalnom ključna riječ za pristup globalnoj varijabli iz bilo koje funkcije. U sljedećoj skripti, cal_percentage () funkcija je definirana za izračun postotka bilo kojeg broja u kojem se koriste i globalne i lokalne varijable. Ovdje, na jedan je globalna varijabla i perVal je lokalna varijabla. globalno Ključna riječ se ovdje koristi za identifikaciju globalne varijable unutar funkcije, a vrijednost globalne varijable se mijenja unutar funkcije.

#!/usr/bin/env python3

# Uzmite cijelu vrijednost
na jedan= int(ulazni('Unesite broj:'))

# Definirajte funkciju
defcal_procent():
# Prepoznajte globalnu varijablu pomoću globalne ključne riječi
globalnona jedan

# Uzmite cijelu vrijednost kao postotak
perVal= int(ulazni('Unesite vrijednost postotka:'))

# Izračunajte postotnu vrijednost
proizlaziti= plutati((je li *perVal)/100)

# Ispišite formatirani rezultat
ispisati(' %d postotak od %d = %f'%(perVal,na jedan,proizlaziti))

# Promijenite vrijednost globalne varijable
na jedan= 500

# Ispišite vrijednost globalne varijable prije pozivanja funkcije
ispisati(' nVrijednost broja = %d '%na jedan)

# Pozovite funkciju
cal_procent()

# Ispišite vrijednost globalne varijable nakon pozivanja funkcije
ispisati(' nVrijednost broja = %d '%na jedan)

Izlaz:

Sljedeći izlaz pojavit će se nakon pokretanja skripte. Ovdje se izračunava i ispisuje 10% od 350.

Primjer-4: Upotreba globalnih varijabli iz druge skripte

Sljedeći primjer pokazuje kako se globalna varijabla deklarirana u jednoj skripti može koristiti u drugoj skripti. Pretpostavimo, naziv datoteke je global6.py koji će koristiti globalne varijable definirane u imenovanoj datoteci global5.py . Tri globalne varijable deklarirane su u global5.py . Morate uvesti globalno5 koristiti varijable u drugoj skripti. Scenarij za global6.py izračunat će plaću tri vrste zaposlenika na temelju ulaznih vrijednosti i globalnih varijabli.

#!/usr/bin/env python3
# ovo je global5.py datoteka

# Osnovna struktura plaća poduzeća
Osnovni, temeljni= 5000
Medicinski= 500
Prijevoz= 500 #!/usr/bin/env python3
# ovo je global6.py datoteka

# Uvezite globalne varijable iz global5.py
uvozglobalno5

# Uzmite ime zaposlenika
Ime= ulazni('Unesite naziv zaposlenika:')
# Uzmite naziv posta
post= ulazni('Unesite post:')

# Inicijalizirajte varijablu pogreške
pogreška= Netočno

# Provjerite objavu i postavite osnovnu plaću na temelju posta
ako(post.Gornji() == 'DIREKTOR TVRTKE'):
Osnovni, temeljni=globalno5.Osnovni, temeljni+(globalno5.Osnovni, temeljni*0,4)
elif(post.Gornji() == 'MENADŽER'):
Osnovni, temeljni=globalno5.Osnovni, temeljni+(globalno5.Osnovni, temeljni*0,25)
elif(post.Gornji() == 'RAČUNOVOĐA'):
Osnovni, temeljni=globalno5.Osnovni, temeljni+(globalno5.Osnovni, temeljni*0,15)
drugo:
# Pogrešku postavite na true ako vrijednost posta nije pronađena
pogreška= Pravi

# Ispišite plaću ako je greška lažna
ako (pogreška== Netočno):
plaća=osnovno + globalno5.Medicinski+ globalno5.Prijevoz
ispisati('Plaća %s je %d'%(Ime,plaća))
drugo:
ispisati('Post nije pronađen')

Izlaz:

Sljedeći izlaz pojavit će se nakon pokretanja skripte. Ovdje se skripta pokreće dva puta s valjanim i nevažećim postom.

Zaključak:

Koncept globalne varijable u pythonu objašnjen je u ovom vodiču različitim jednostavnim primjerima za nove korisnike pythona. Nadam se da će čitatelji nakon čitanja ovog vodiča steći odgovarajuće znanje o globalnim i lokalnim varijablama.

Pogledajte video snimak autora: ovdje