Python

Forstå omfanget af globale variabler i python

Forstå omfanget af globale variabler i python
To typer variabler kan defineres på de fleste programmeringssprog. Disse er globale variabler og lokale variabler. De variabler, der er defineret uden for funktionen kaldes en global variabel. Denne variabel er tilgængelig og kan ændres fra hvor som helst i scriptet. Den variabel, der erklæres inde i funktionen kaldes den lokale variabel. Men hvis det samme variabelnavn findes som globale og lokale variabler, får variablen inde i funktionen prioritet, og værdien af ​​den globale variabel ignoreres. Omfanget af den globale variabel i python-scriptet vises i denne vejledning ved hjælp af forskellige eksempler.

Eksempel 1: Enkel brug af en global variabel

Følgende eksempel viser den enkle anvendelse af en global variabel inden for funktionen og uden for funktionen. Her er en global variabel navngivet tekst bruges til at tildele strengdata. En brugerdefineret funktion navngivet printMessage () er defineret til at udskrive værdien af ​​den globale variabel. Værdien af tekst variabel udskrives inden i funktionen og uden for funktionen efter ændring af værdien.

#!/ usr / bin / env python3
# Definer en global variabel
text = "Velkommen til LinuxHint"
# Definer en funktion
def printMessage ():
# Udskriv den globale variabel fra funktionen
print ("Global variabel inden i funktion: \ n", tekst)
# Ring til funktionen
printMessage ()
# Skift værdien af ​​den globale variabel
text = "Lær Python-programmering"
# Udskriv den aktuelle værdi af den globale variabel
print ("Global variabel uden for funktion: \ n", tekst)

Produktion:

Følgende output vises efter kørsel af scriptet. Den udskrev værdien, 'Velkommen til LinuxHint ' der er tildelt variablen, inden funktionen kaldes. Derefter udskrev den værdien, 'Lær Python-programmering'  efter ændring af variabelens værdi.

Eksempel 2: Brug af global og lokal variabel med samme navn

Hvis du vil erklære et variabelnavn inde i en funktion, der allerede er deklareret som en global variabel før i python og vil bruge variablen, behandler den variablen som en lokal variabel og genererer en fejl. Følgende script viser fejlen. Her, teksten variabel er defineret som en global og lokal variabel.

#!/ usr / bin / env python3
# Definer en global variabel
text = "Jeg kan godt lide Python"
# Definer en funktion
def printMessage ():
udskriv (tekst)
text = "Jeg kan godt lide PHP"
# Ring til funktionen
printMessage ()

Produktion:

Følgende output vises efter kørsel af scriptet.

For at undgå ovenstående situation, og hvis du vil erklære en lokal variabel med samme navn som en global variabel, skal du først tildele den lokale variabel inde i funktionen. Følgende script viser, at ændringerne i den lokale variabel ikke ændrer den globale variabel. tekst variabel er trykt inden for og uden for funktionen her.

#!/ usr / bin / env python3
# Definer en global variabel
text = "Jeg kan godt lide Python"
# Definer en funktion
def printMessage ():
# Degine lokal værdi
text = "Jeg kan godt lide PHP"
# Udskriv den lokale variabel, tekst
print ("Værdien af ​​'tekst' inden i funktion: \ n", tekst)
# Ring til funktionen
printMessage ()
# Udskriv den globale variabel, tekst
print ("Værdien af ​​'tekst' uden for funktion: \ n", tekst)

Produktion:

Følgende output vises efter kørsel af scriptet.

Eksempel 3: Brug af global variabel inde i funktionen

Det forrige eksempel viser, at den globale variabel ikke er tilgængelig i en funktion. Du kan bruge det globale nøgleord for at få adgang til en global variabel fra enhver funktion. I det følgende script, cal_percentage () funktion er defineret til at beregne procentdelen af ​​et hvilket som helst tal, hvor både globale og lokale variabler bruges. Her, antal er en global variabel, og perVal er en lokal variabel. global nøgleord bruges her til at identificere den globale variabel inde i funktionen, og værdien af ​​den globale variabel ændres inde i funktionen.

#!/ usr / bin / env python3
# Tag et heltalsværdi
num = int (input ("Indtast et tal:"))
# Definer funktionen
def cal_percentage ():
# Genkend den globale variabel ved hjælp af et globalt nøgleord
globalt antal
# Tag et heltalsværdi i procent
perVal = int (input ("Indtast procentværdien:"))
# Beregn den procentvise værdi
resultat = float ((num * perVal) / 100)
# Udskriv det formaterede resultat
udskriv ("% d procent af% d =% f"% (perVal, antal, resultat))
# Skift værdien af ​​den globale variabel
num = 500
# Udskriv værdien af ​​den globale variabel, inden funktionen kaldes
udskriv ("\ nVærdien af ​​num =% d"% num)
# Ring til funktionen
cal_percentage ()
# Udskriv værdien af ​​den globale variabel efter at have kaldt funktionen
udskriv ("\ nVærdien af ​​num =% d"% num)

Produktion:

Følgende output vises efter kørsel af scriptet. Her beregnes og udskrives 10% af 350.

Eksempel 4: Brug af globale variabler fra et andet script

Følgende eksempel viser, hvordan den globale variabel, der er erklæret i et script, kan bruges i et andet script. Antag, filnavnet er global6.py der bruger de globale variabler defineret i den navngivne fil global5.py. Tre globale variabler er deklareret i global5.py. Du skal importere global5 at bruge variablerne i et andet script. Manuskriptet til global6.py beregner lønnen for tre typer medarbejdere baseret på inputværdier og globale variabler.

#!/ usr / bin / env python3
# dette er globalt5.py-fil
# Grundlæggende lønstruktur i en virksomhed
Grundlæggende = 5000
Medicinsk = 500
Transport = 500 #!/ usr / bin / env python3
# dette er globalt6.py-fil
# Importer de globale variabler fra global5.py
import globalt5
# Tag medarbejdernavnet
name = input ("Indtast medarbejdernavnet:")
# Tag postens navn
post = input ("Indtast posten:")
# Initialiser fejlvariablen
error = False
# Kontroller stillingen, og indstil grundløn baseret på stilling
hvis (post.øvre () == "CEO"):
grundlæggende = global5.Basic + (global5.Grundlæggende * 0.4)
elif (post.øvre () == "MANAGER"):
grundlæggende = global5.Basic + (global5.Grundlæggende * 0.25)
elif (post.upper () == "ACCOUNTANT"):
grundlæggende = global5.Basic + (global5.Grundlæggende * 0.15)
andet:
# Indstil fejlen til sand, hvis postværdien ikke blev fundet
error = Sandt
# Udskriv lønnen, hvis fejlen er flase
hvis (fejl == Falsk):
løn = grundlæggende + global5.Medicinsk + global5.Transportere
print ("Lønnen på% s er% d"% (navn, løn))
andet:
print ("Indlæg blev ikke fundet")

Produktion:

Følgende output vises efter kørsel af scriptet. Her køres scriptet to gange med et gyldigt indlæg og et ugyldigt indlæg.

Konklusion:

Konceptet med en global variabel i python forklares i denne vejledning med de forskellige enkle eksempler til de nye pythonbrugere. Jeg håber, at læserne får den rette viden om globale variabler såvel som lokale variabler efter at have læst denne vejledning.

Se forfatterens video: her

Kamp om Wesnoth 1.13.6 Udvikling frigivet
Kamp om Wesnoth 1.13.6 udgivet i sidste måned, er den sjette udviklingsudgivelse i 1.13.x-serien, og den leverer en række forbedringer, især til bruge...
Sådan installeres League Of Legends på Ubuntu 14.04
Hvis du er fan af League of Legends, er dette en mulighed for dig at prøvekøre League of Legends. Bemærk, at LOL understøttes på PlayOnLinux, hvis du ...
Installer det nyeste OpenRA-strategispil på Ubuntu Linux
OpenRA er en Libre / Free Real Time Strategy-spilmotor, der genskaber de tidlige Westwood-spil som det klassiske Command & Conquer: Red Alert. Distrib...