Python

Forstå omfanget av globale variabler i python

Forstå omfanget av globale variabler i python
To typer variabler kan defineres i de fleste programmeringsspråkene. Dette er globale variabler og lokale variabler. Variablene som er definert utenfor funksjonen kalles en global variabel. Denne variabelen er tilgjengelig og kan endres hvor som helst i skriptet. Variabelen som er deklarert inne i funksjonen kalles den lokale variabelen. Men hvis det samme variabelnavnet eksisterer som globale og lokale variabler, får variabelen i funksjonen prioritet, og verdien av den globale variabelen vil bli ignorert. Omfanget av den globale variabelen i python-skriptet vises i denne veiledningen ved hjelp av forskjellige eksempler.

Eksempel 1: Enkel bruk av en global variabel

Følgende eksempel viser enkel bruk av en global variabel i funksjonen og utenfor funksjonen. Her heter en global variabel tekst brukes til å tilordne en strengdata. En tilpasset funksjon navngitt printMessage () er definert for å skrive ut verdien til den globale variabelen. Verdien av tekst variabel skrives ut inne i funksjonen og utenfor funksjonen etter endring av verdien.

#!/ usr / bin / env python3
# Definer en global variabel
text = "Velkommen til LinuxHint"
# Definer en funksjon
def printMessage ():
# Skriv ut den globale variabelen fra funksjonen
print ("Global variabel inne funksjon: \ n", tekst)
# Ring funksjonen
printMessage ()
# Endre verdien på den globale variabelen
text = "Lær Python-programmering"
# Skriv ut gjeldende verdi av den globale variabelen
print ("Global variabel utenfor funksjon: \ n", tekst)

Produksjon:

Følgende utdata vises etter kjøring av skriptet. Det trykket verdien, 'Velkommen til LinuxHint ' som er tilordnet variabelen før du ringer til funksjonen. Deretter skrev den verdien, 'Lær Python-programmering'  etter endring av verdien på variabelen.

Eksempel 2: Bruk av global og lokal variabel med samme navn

Hvis du vil erklære et variabelnavn i en funksjon som allerede er deklarert som en global variabel tidligere i python og vil bruke variabelen, vil den behandle variabelen som en lokal variabel og generere en feil. Følgende skript viser feilen. Her, teksten variabel er definert som en global og lokal variabel.

#!/ usr / bin / env python3
# Definer en global variabel
text = "Jeg liker Python"
# Definer en funksjon
def printMessage ():
skriv ut (tekst)
text = "Jeg liker PHP"
# Ring funksjonen
printMessage ()

Produksjon:

Følgende utdata vises etter kjøring av skriptet.

For å unngå ovennevnte situasjon, og hvis du vil erklære en lokal variabel med samme navn som en global variabel, må du tilordne den lokale variabelen i funksjonen først. Følgende skript viser at endringene i den lokale variabelen ikke gjør noen endring i den globale variabelen. tekst variabel skrives ut og utenfor funksjonen her.

#!/ usr / bin / env python3
# Definer en global variabel
text = "Jeg liker Python"
# Definer en funksjon
def printMessage ():
# Degine lokal verdi
text = "Jeg liker PHP"
# Skriv ut den lokale variabelen, tekst
print ("Verdien av" tekst "inne i funksjon: \ n", tekst)
# Ring funksjonen
printMessage ()
# Skriv ut den globale variabelen, tekst
print ("Verdien av" tekst "utenfor funksjonen: \ n", tekst)

Produksjon:

Følgende utdata vises etter kjøring av skriptet.

Eksempel 3: Bruk av global variabel inne i funksjonen

Det forrige eksemplet viser at den globale variabelen ikke er tilgjengelig i en funksjon. Du kan bruke det globale nøkkelord for å få tilgang til en global variabel fra hvilken som helst funksjon. I følgende skript, cal_percentage () funksjon er definert for å beregne prosentandelen av et hvilket som helst tall der både globale og lokale variabler brukes. Her, num er en global variabel, og perVal er en lokal variabel. global nøkkelord brukes her for å identifisere den globale variabelen i funksjonen, og verdien av den globale variabelen endres inne i funksjonen.

#!/ usr / bin / env python3
# Ta et heltall
num = int (input ("Skriv inn et tall:"))
# Definer funksjonen
def cal_percentage ():
# Gjenkjen den globale variabelen ved hjelp av det globale søkeordet
globalt antall
# Ta et heltall i prosent
perVal = int (input ("Angi prosentverdien:"))
# Beregn prosentverdien
resultat = float ((num * perVal) / 100)
# Skriv ut det formaterte resultatet
utskrift ("% d prosent av% d =% f"% (perVal, antall, resultat))
# Endre verdien av global variabel
num = 500
# Skriv ut verdien av global variabel før du ringer til funksjonen
skriv ut ("\ nVerdien av num =% d"% num)
# Ring funksjonen
cal_percentage ()
# Skriv ut verdien av global variabel etter at du har ringt funksjonen
skriv ut ("\ nVerdien av num =% d"% num)

Produksjon:

Følgende utdata vises etter kjøring av skriptet. Her beregnes og skrives 10% av 350 ut.

Eksempel 4: Bruk av globale variabler fra et annet skript

Følgende eksempel viser at hvordan den globale variabelen deklarert i ett skript kan brukes i et annet skript. Anta at filnavnet er global6.py som vil bruke de globale variablene som er definert i filen som heter global5.py. Tre globale variabler er erklært i global5.py. Du må importere global5 for å bruke variablene i et annet skript. Manuset til global6.py vil beregne lønnen til tre typer ansatte basert på inngangsverdier og globale variabler.

#!/ usr / bin / env python3
# dette er globalt5.py-fil
# Grunnleggende lønnsstruktur i et selskap
Grunnleggende = 5000
Medisinsk = 500
Transport = 500 #!/ usr / bin / env python3
# dette er globalt6.py-fil
# Importer de globale variablene fra global5.py
importer global5
# Ta ansattens navn
name = input ("Skriv inn navnet på den ansatte:")
# Ta postnavnet
post = input ("Skriv inn innlegget:")
# Initier feilvariabelen
error = False
# Sjekk innlegget og sett grunnlønn basert på innlegg
hvis (innlegg.øvre () == "CEO"):
grunnleggende = global5.Basic + (global5.Grunnleggende * 0.4)
elif (innlegg.øvre () == "MANAGER"):
grunnleggende = global5.Basic + (global5.Grunnleggende * 0.25)
elif (innlegg.øvre () == "REGNSKAPER"):
grunnleggende = global5.Basic + (global5.Grunnleggende * 0.15)
ellers:
# Sett feilen til sant hvis ikke postverdien ble funnet
error = True
# Skriv ut lønnen hvis feilen er flase
hvis (feil == Falsk):
lønn = grunnleggende + global5.Medisinsk + global5.Transportere
utskrift ("Lønnen på% s er% d"% (navn, lønn))
ellers:
skriv ut ("Innlegget ble ikke funnet")

Produksjon:

Følgende utdata vises etter kjøring av skriptet. Her kjøres skriptet to ganger med et gyldig innlegg og ugyldig innlegg.

Konklusjon:

Konseptet med en global variabel i python er forklart i denne opplæringen med de forskjellige enkle eksemplene for de nye python-brukerne. Jeg håper leserne vil få riktig kunnskap om globale variabler så vel som lokale variabler etter å ha lest denne opplæringen.

Se forfatterens video: her

Hvordan installere og spille Doom på Linux
Introduksjon til Doom Doom-serien stammer fra 90-tallet etter utgivelsen av den originale Doom. Det ble en øyeblikkelig suksess, og fra den tiden og u...
Vulkan for Linux-brukere
Med hver nye generasjon grafikkort ser vi spillutviklere skyve grensene for grafisk troskap og komme et skritt nærmere fotorealisme. Men til tross for...
OpenTTD vs Simutrans
Å lage din egen transportsimulering kan være morsom, avslappende og ekstremt fristende. Derfor må du sørge for at du prøver så mange spill som mulig f...