Python

Begrijp het bereik van globale variabelen in python

Begrijp het bereik van globale variabelen in python
In de meeste programmeertalen kunnen twee soorten variabelen worden gedefinieerd. Dit zijn globale variabelen en lokale variabelen. De variabelen die buiten de functie zijn gedefinieerd, worden een globale variabele genoemd. Deze variabele is toegankelijk en kan overal in het script worden gewijzigd. De variabele die in de functie wordt gedeclareerd, wordt de lokale variabele genoemd. Maar als dezelfde variabelenaam bestaat als globale en lokale variabelen, dan krijgt de variabele in de functie de prioriteit en wordt de waarde van de globale variabele genegeerd. De reikwijdte van de globale variabele in het python-script wordt in deze tutorial getoond aan de hand van verschillende voorbeelden.

Voorbeeld-1: Eenvoudig gebruik van een globale variabele

Het volgende voorbeeld toont het eenvoudige gebruik van een globale variabele binnen de functie en buiten de functie. Hier, een globale variabele genaamd tekst wordt gebruikt om een ​​string data toe te wijzen. Een aangepaste functie met de naam printMessage() is gedefinieerd om de waarde van de globale variabele af te drukken. De waarde van de tekst variabele wordt afgedrukt binnen de functie en buiten de functie na het wijzigen van de waarde.

#!/usr/bin/env python3
# Definieer een globale variabele
text = "Welkom bij LinuxHint"
# Definieer een functie
def printMessage():
# Print de globale variabele uit de functie
print("Globale variabele binnen functie: \n", tekst)
# Roep de functie aan
printMessage()
# Verander de waarde van de globale variabele
text = "Leer Python Programmeren"
# Druk de huidige waarde van de globale variabele af
print("Globale variabele buiten functie: \n", tekst)

Uitgang:

De volgende uitvoer zal verschijnen na het uitvoeren van het script:. Het drukte de waarde, 'Welkom bij LinuxHint' dat is toegewezen aan de variabele voordat de functie wordt aangeroepen. Vervolgens drukte het de waarde af, 'Leer Python Programmeren'  na het wijzigen van de waarde van de variabele.

Voorbeeld-2: Gebruik van globale en lokale variabele met dezelfde naam

Als u een variabelenaam wilt declareren binnen een functie die al eerder als globale variabele is gedeclareerd in python en u wilt de variabele gebruiken, dan zal deze de variabele als een lokale variabele behandelen en een fout genereren. Het volgende script toont de fout:. Hier, de tekst variabele wordt gedefinieerd als een globale en lokale variabele.

#!/usr/bin/env python3
# Definieer een globale variabele
text = "Ik hou van Python"
# Definieer een functie
def printMessage():
afdrukken (tekst)
text = "Ik hou van PHP"
# Roep de functie aan
printMessage()

Uitgang:

De volgende uitvoer zal verschijnen na het uitvoeren van het script:.

Om de bovenstaande situatie te vermijden en als u een lokale variabele met dezelfde naam als een globale variabele wilt declareren, moet u eerst de lokale variabele binnen de functie toewijzen. Het volgende script laat zien dat de wijzigingen in de lokale variabele geen verandering teweegbrengen in de globale variabele. tekst variabele wordt hier binnen en buiten de functie afgedrukt.

#!/usr/bin/env python3
# Definieer een globale variabele
text = "Ik hou van Python"
# Definieer een functie
def printMessage():
# Bepaal lokale waarde
text = "Ik hou van PHP"
# Print de lokale variabele,tekst
print("De waarde van 'tekst' in functie: \n", tekst)
# Roep de functie aan
printMessage()
# Print de globale variabele, tekst
print("De waarde van 'tekst' buiten functie: \n", tekst)

Uitgang:

De volgende uitvoer zal verschijnen na het uitvoeren van het script:.

Voorbeeld-3: Gebruik van globale variabele binnen de functie

Het vorige voorbeeld laat zien dat de globale variabele niet toegankelijk is binnen een functie. Je kunt gebruiken het globaal trefwoord om vanuit elke functie toegang te krijgen tot een globale variabele. In het volgende script:, cal_percentage() functie is gedefinieerd om het percentage van een willekeurig getal te berekenen waarbij zowel globale als lokale variabelen worden gebruikt. Hier, aantal is een globale variabele, en per waarde is een lokale variabele. globaal sleutelwoord wordt hier gebruikt om de globale variabele binnen de functie te identificeren en de waarde van de globale variabele wordt binnen de functie gewijzigd.

#!/usr/bin/env python3
# Neem een ​​geheel getal
num = int(input("Vul een getal in: "))
# Definieer de functie
def cal_percentage():
# Herken de globale variabele met het globale trefwoord
globaal nummer
# Neem een ​​geheel getal als percentage
perVal = int(input("Vul de procentuele waarde in: "))
# Bereken de procentuele waarde
resultaat = float((getal * perVal)/100)
# Druk het opgemaakte resultaat af
print("%d percentage van %d = %f" %(perVal, aantal, resultaat))
# Verander de waarde van de globale variabele
aantal = 500
# Druk de waarde van de globale variabele af voordat u de functie aanroept
print("\nDe waarde van num = %d" %num)
# Roep de functie aan
cal_percentage()
# Druk de waarde van de globale variabele af na het aanroepen van de functie
print("\nDe waarde van num = %d" %num)

Uitgang:

De volgende uitvoer zal verschijnen na het uitvoeren van het script:. Hier wordt 10% van 350 berekend en afgedrukt.

Voorbeeld-4: Gebruik van globale variabelen uit een ander script

Het volgende voorbeeld laat zien hoe de globale variabele die in het ene script is gedeclareerd, in een ander script kan worden gebruikt. Stel dat de bestandsnaam is globaal6.py die de globale variabelen gebruikt die zijn gedefinieerd in het bestand met de naam globaal5.py. Drie globale variabelen worden gedeclareerd in globaal5.py. Je moet importeren globaal5 om de variabelen in een ander script te gebruiken. Het script van globaal6.py berekent het salaris van drie soorten werknemers op basis van invoerwaarden en globale variabelen.

#!/usr/bin/env python3
# dit is globaal5.py-bestand
# Basisloonstructuur van een bedrijf
Basis = 5000
Medisch = 500
Vervoer = 500 #!/usr/bin/env python3
# dit is globaal6.py-bestand
# Importeer de globale variabelen van global5.py
globaal importeren5
# Neem de naam van de werknemer
name = input("Vul de naam van de werknemer in: ")
# Neem de naam van het bericht
post = input("Voer het bericht in: ")
# Initialiseer de foutvariabele
fout = Onwaar
# Controleer de functie en stel het basissalaris in op basis van de functie
als (post.upper() == "CEO"):
basis = globaal5.Basis + (globaal5.Basis*0.4)
elif(post).upper() == "MANAGER"):
basis = globaal5.Basis + (globaal5.Basis*0.25)
elif(post).upper() == "ACCOUNTANT"):
basis = globaal5.Basis + (globaal5.Basis*0.15)
anders:
# Zet error op true als postwaarde niet gevonden is
fout = True
# Druk het salaris af als de fout flase is
if (fout == False):
salaris = basis + globaal5.Medisch + globaal5.Vervoer
print("Het salaris van %s is %d" %(naam, salaris))
anders:
print("Bericht is niet gevonden")

Uitgang:

De volgende uitvoer zal verschijnen na het uitvoeren van het script:. Hier wordt het script twee keer uitgevoerd met een geldige post en een ongeldige post.

Conclusie:

Het concept van een globale variabele in python wordt in deze tutorial uitgelegd met de verschillende eenvoudige voorbeelden voor de nieuwe python-gebruikers. Ik hoop dat de lezers na het lezen van deze tutorial de juiste kennis van globale variabelen en lokale variabelen zullen krijgen variable.

Bekijk de video van de auteur: hier

Beste gamepad-toewijzingsapps voor Linux
Als je graag games op Linux speelt met een gamepad in plaats van een typisch toetsenbord- en muisinvoersysteem, zijn er enkele handige apps voor jou. ...
Handige hulpmiddelen voor Linux-gamers
Als je graag games op Linux speelt, is de kans groot dat je apps en hulpprogramma's zoals Wine, Lutris en OBS Studio hebt gebruikt om de game-ervaring...
HD Remastered Games voor Linux die nog nooit eerder een Linux-release hebben gehad
Veel game-ontwikkelaars en uitgevers komen met HD-remaster van oude games om de levensduur van franchise te verlengen, fans die compatibiliteit met mo...