Forstå globale variabler omfang i Python

Forstå globale variabler omfang i Python
To typer variabler kan defineres i de fleste av programmeringsspråk. Dette er globale variabler og lokale variabler. Variablene som er definert utenfor funksjonen kalles en global variabel. Denne variabelen er tilgjengelig og skiftbar hvor som helst i skriptet. Variabelen som er deklarert i funksjonen kalles den lokale variabelen. Men hvis det samme variabeltavnet eksisterer som globale og lokale variabler, vil variabelen inne i funksjonen få prioritet, og verdien av den globale variabelen vil bli ignorert. Omfanget av den globale variabelen i Python -skriptet vises i denne opplæringen ved hjelp av forskjellige eksempler.

Eksempel 1: Enkel bruk av en global variabel

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

#!/usr/bin/env python3
# Definer en global variabel
tekst = "Velkommen til Linuxhint"
# Definer en funksjon
def printMessage ():
# Skriv ut den globale variabelen fra funksjonen
Print ("Global Variable Inside Function: \ n", tekst)
# Ring funksjonen
PrintMessage ()
# Endre verdien av den globale variabelen
tekst = "Lær python -programmering"
# Skriv ut gjeldende verdi på den globale variabelen
Print ("Global Variable Outside Function: \ n", tekst)

Produksjon:

Følgende utgang vises etter å ha kjørt skriptet. Det trykket verdien, 'Velkommen til Linuxhint ' som er tilordnet variabelen før du ringer funksjonen. Deretter trykket det verdien, 'Lær Python -programmering' Etter å ha endret verdien av 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 erklært som en global variabel før 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
tekst = "Jeg liker python"
# Definer en funksjon
def printMessage ():
trykk (tekst)
tekst = "Jeg liker php"
# Ring funksjonen
PrintMessage ()

Produksjon:

Følgende utgang vises etter å ha kjørt skriptet.

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

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

Produksjon:

Følgende utgang vises etter å ha kjørt 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 en heltallverdi
num = int (input ("Angi et tall:"))
# Definer funksjonen
def cal_percentage ():
# Gjenkjenne den globale variabelen ved hjelp av globalt nøkkelord
Global Num
# Ta en heltallsverdi som prosentandel
perval = int (input ("Angi prosentverdien:"))
# Beregn prosentvis verdi
Resultat = float ((num * perval)/100)
# Skriv ut det formaterte resultatet
utskrift (" %d prosent av %d = %f" %(perval, num, resultat))
# Endre verdien av den globale variabelen
Num = 500
# Skriv ut verdien av global variabel før du ringer funksjonen
print ("\ n The Value of num = %d" %num)
# Ring funksjonen
cal_percentage ()
# Skriv ut verdien av global variabel etter å ha ringt funksjonen
print ("\ n The Value of num = %d" %num)

Produksjon:

Følgende utgang vises etter å ha kjørt skriptet. Her beregnes 10% av 350.

Eksempel-4: Bruk av globale variabler fra et annet skript

Følgende eksempel viser at hvordan den globale variabelen erklært i ett skript kan brukes i et annet skript. Anta at filnavnet er Global6.py som vil bruke de globale variablene definert i filen som heter Global5.py. Tre globale variabler er erklært i Global5.py. Du må importere Global5 å 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 global5.py -fil
# Grunnleggende lønnsstruktur i et selskap
Grunnleggende = 5000
Medisinsk = 500
Transport = 500 #!/usr/bin/env python3
# dette er global6.py -fil
# Importer de globale variablene fra Global5.py
Importer global5
# Ta ansattes navn
Navn = input ("Skriv inn ansattes navn:")
# Ta innleggsnavnet
POST = INPUT ("Skriv inn innlegget:")
# Initialiser feilvariabelen
Feil = falsk
# Sjekk innlegget og angi grunnleggende lønn basert på innlegg
hvis (innlegg.øvre () == "CEO"):
Grunnleggende = Global5.Grunnleggende + (Global5.Grunnleggende*0.4)
Elif (innlegg.Øvre () == "Manager"):
Grunnleggende = Global5.Grunnleggende + (Global5.Grunnleggende*0.25)
Elif (innlegg.øvre () == "Regnskapsfører"):
Grunnleggende = Global5.Grunnleggende + (Global5.Grunnleggende*0.15)
ellers:
# Angi feil til sant hvis postverdien ikke er funnet
Feil = sant
# Skriv ut lønnen hvis feil er flase
if (feil == falsk):
Lønn = Basic + Global5.Medisinsk + Global5.Transportere
Print ("Lønnen på %S er %D" %(navn, lønn))
ellers:
trykk ("Innlegget er ikke funnet")

Produksjon:

Følgende utgang vises etter å ha kjørt skriptet. Her kjøres manuset 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