Begrijp het bereik van globale variabelen in python

Understand Global Variables Scope 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 overal in het script toegankelijk en aanpasbaar. 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 zelfstudie aan de hand van verschillende voorbeelden getoond.

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 binnen de functie en buiten de functie afgedrukt nadat de waarde is gewijzigd.







#!/usr/bin/env python3

# Definieer een globale variabele
tekst= 'Welkom bij LinuxHint'

# Definieer een functie
zekerprintMessage():

# Druk de globale variabele af vanuit de functie
afdrukken('Globale variabele binnen functie:N',tekst)

# Roep de functie aan
printMessage()

# Verander de waarde van de globale variabele
tekst= 'Leer Python Programmeren'

# Druk de huidige waarde van de globale variabele af
afdrukken('Globale variabele buiten functie:N',tekst)

Uitgang:



De volgende uitvoer verschijnt na het uitvoeren van het script. Het drukte de waarde, ' Welkom bij LinuxHint' die aan de variabele is toegewezen 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 laat de fout zien. Hier, de tekst variabele wordt gedefinieerd als een globale en lokale variabele.

#!/usr/bin/env python3

# Definieer een globale variabele
tekst= 'Ik hou van Python'

# Definieer een functie
zekerprintMessage():
afdrukken(tekst)

tekst= 'Ik hou van PHP'

# Roep de functie aan
printMessage()

Uitgang:



De volgende uitvoer verschijnt na het uitvoeren van het script.

Om 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
tekst= 'Ik hou van Python'

# Definieer een functie
zekerprintMessage():
# Bepaal lokale waarde
tekst= 'Ik hou van PHP'
# Print de lokale variabele,tekst
afdrukken('De waarde van 'tekst' in functie:N',tekst)

# Roep de functie aan
printMessage()

# Print de globale variabele, tekst
afdrukken('De waarde van 'tekst' buiten functie:N',tekst)

Uitgang:

De volgende uitvoer verschijnt 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 sleutelwoord om vanuit elke functie toegang te krijgen tot een globale variabele. In het volgende schrift, cal_percentage() functie is gedefinieerd om het percentage van een willekeurig getal te berekenen waarbij zowel globale als lokale variabelen worden gebruikt. Hier, op een 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
op een= int(invoer('Voer een nummer in: '))

# Definieer de functie
zekercal_percentage():
# Herken de globale variabele met het globale trefwoord
globaalop een

# Neem een ​​geheel getal als percentage
per waarde= int(invoer('Vul de procentuele waarde in: '))

# Bereken de procentuele waarde
resultaat= vlot((of *perVal)/100)

# Druk het opgemaakte resultaat af
afdrukken('%d percentage van %d = %f'%(per waarde,op een,resultaat))

# Verander de waarde van de globale variabele
op een= 500

# Druk de waarde van de globale variabele af voordat u de functie aanroept
afdrukken('NDe waarde van num = %d'%op een)

# Roep de functie aan
cal_percentage()

# Druk de waarde van de globale variabele af na het aanroepen van de functie
afdrukken('NDe waarde van num = %d'%op een)

Uitgang:

De volgende uitvoer verschijnt 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 global6.py die de globale variabelen gebruikt die zijn gedefinieerd in het bestand met de naam global5.py . Drie globale variabelen worden gedeclareerd in global5.py . Je moet importeren globaal5 om de variabelen in een ander script te gebruiken. Het script van global6.py berekent het salaris van drie soorten werknemers op basis van invoerwaarden en globale variabelen.

#!/usr/bin/env python3
# dit is het global5.py-bestand

# Basisloonstructuur van een bedrijf
Basis= 5000
Medisch= 500
Vervoer= 500 #!/usr/bin/env python3
# dit is het global6.py-bestand

# Importeer de globale variabelen van global5.py
importerenglobaal5

# Neem de naam van de werknemer
naam= invoer('Vul de naam van de medewerker in: ')
# Neem de naam van het bericht
na= invoer('Voer het bericht in: ')

# Initialiseer de foutvariabele
fout= niet waar

# Controleer de functie en stel het basissalaris in op basis van de functie
indien(na.bovenste() == 'DIRECTEUR'):
basis=globaal5.Basis+(globaal5.Basis*0,4)
elif(na.bovenste() == 'MANAGER'):
basis=globaal5.Basis+(globaal5.Basis*0,25)
elif(na.bovenste() == 'ACCOUNTANT'):
basis=globaal5.Basis+(globaal5.Basis*0,15)
anders:
# Zet error op true als postwaarde niet gevonden is
fout= Waar

# Druk het salaris af als de fout flase is
indien (fout== niet waar):
salaris=basis + globaal5.Medisch+ globaal5.Vervoer
afdrukken('Het salaris van %s is %d'%(naam,salaris))
anders:
afdrukken('Bericht is niet gevonden')

Uitgang:

De volgende uitvoer verschijnt 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 de juiste kennis van globale variabelen en lokale variabelen zullen krijgen na het lezen van deze tutorial.

Bekijk de video van de auteur: hier