Python Globale variabelen zijn degenen die niet binnen een functie zijn gedefinieerd en een mondiale reikwijdte hebben, terwijl Python lokale variabelen zijn die welke binnen een functie worden gedefinieerd en hun reikwijdte is beperkt tot alleen die functie. Met andere woorden, we kunnen zeggen dat lokale variabelen alleen toegankelijk zijn binnen de functie waarin ze zijn geïnitialiseerd, terwijl de globale variabelen toegankelijk zijn in het hele programma en binnen elke functie.
Lokale Python-variabelen
Lokale variabelen in Python zijn variabelen die binnen een functie worden geïnitialiseerd en alleen tot die specifieke functie behoren. Het is nergens toegankelijk buiten de functie. Laten we eens kijken hoe we een lokale variabele kunnen maken.
Lokale variabelen maken in Python
Lokale variabelen definiëren en toegankelijk maken
Python3
def> f():> > # local variable> > s> => 'I love Geeksforgeeks'> > print> (s)> # Driver code> f()> |
>
>Uitvoer
tekenreeksfuncties in Java
I love Geeksforgeeks>
Kan een lokale variabele buiten een functie worden gebruikt?
Als we proberen deze lokale variabele buiten de functie te gebruiken, laten we dan eens kijken wat er zal gebeuren.
Python3
def> f():> > > # local variable> > s> => 'I love Geeksforgeeks'> > print> (> 'Inside Function:'> , s)> # Driver code> f()> print> (s)> |
>
>
Uitgang:
NameError : name 's' is not defined>
Globale Python-variabelen
Dit zijn de functies die buiten elke functie worden gedefinieerd en die door het hele programma heen toegankelijk zijn, dat wil zeggen binnen en buiten elke functie. Laten we eens kijken hoe we een globale Python-variabele kunnen maken.
Maak een globale variabele in Python
Definiëren en toegang krijgen tot globale Python-variabelen.
Python3
# This function uses global variable s> def> f():> > print> (> 'Inside Function'> , s)> # Global scope> s> => 'I love Geeksforgeeks'> f()> print> (> 'Outside Function'> , s)> |
>
>Uitvoer
Inside Function I love Geeksforgeeks Outside Function I love Geeksforgeeks>
De variabele s wordt gedefinieerd als de globale variabele en wordt zowel binnen de functie als buiten de functie gebruikt.
Opmerking: Omdat er geen lokale variabelen zijn, wordt de waarde van de globale variabelen gebruikt, maar zorg ervoor dat zowel de lokale als de globale variabelen dezelfde naam hebben.
Waarom gebruiken we lokale en globale variabelen in Python?
Wat als er nu een Python-variabele met dezelfde naam is geïnitialiseerd binnen een functie, maar ook globaal? Nu rijst de vraag: zal de lokale variabele enig effect hebben op de globale variabele of omgekeerd, en wat zal er gebeuren als we de waarde van een variabele binnen de functie f() veranderen? Zal dit ook de mondiale bevolking beïnvloeden? We testen het in het volgende stukje code:
Voorbeeld
Als een variabele met dezelfde naam ook binnen het bereik van de functie is gedefinieerd, wordt alleen de waarde afgedrukt die binnen de functie is opgegeven en niet de globale waarde.
hoe u de schermgrootte kunt controleren
Python3
# This function has a variable with> # name same as s.> def> f():> > s> => 'Me too.'> > print> (s)> # Global scope> s> => 'I love Geeksforgeeks'> f()> print> (s)> |
>
>Uitvoer
Me too. I love Geeksforgeeks>
Wat als we nu proberen de waarde van een globale variabele binnen de functie te veranderen? Laten we het bekijken aan de hand van het onderstaande voorbeeld.
Python3
# This function uses global variable s> def> f():> > s> +> => 'GFG'> > print> (> 'Inside Function'> , s)> # Global scope> s> => 'I love Geeksforgeeks'> f()> |
>
>
Uitgang:
UnboundLocalError : local variable 's' referenced before assignment>
Om het bovenstaande programma te laten werken, moeten we het globale trefwoord in Python gebruiken. Laten we eens kijken wat dit algemene zoekwoord is.
Het mondiale trefwoord
We hoeven alleen maar gebruik te maken van de globaal trefwoord in een functie als we opdrachten willen uitvoeren of de globale variabele willen wijzigen. global is niet nodig voor afdrukken en toegang. Python gaat ervan uit dat we een lokale variabele willen vanwege de toewijzing aan s binnen f(), dus de eerste instructie genereert de foutmelding. Elke variabele die binnen een functie wordt gewijzigd of gemaakt, is lokaal als deze niet als globale variabele is gedeclareerd. Om Python te vertellen dat we de globale variabele willen gebruiken, moeten we het trefwoord gebruiken globaal , zoals te zien is in het volgende voorbeeld:
Voorbeeld 1: Globaal Python-trefwoord gebruiken
Python3
# This function modifies the global variable 's'> def> f():> > global> s> > s> +> => ' GFG'> > print> (s)> > s> => 'Look for Geeksforgeeks Python Section'> > print> (s)> # Global Scope> s> => 'Python is great!'> f()> print> (s)> |
>
>Uitvoer
hoeveel nul voor één miljoen
Python is great! GFG Look for Geeksforgeeks Python Section Look for Geeksforgeeks Python Section>
Nu is er geen onduidelijkheid.
Voorbeeld 2: Het gebruik van globale en lokale variabelen in Python
Python3
a> => 1> # Uses global because there is no local 'a'> def> f():> > print> (> 'Inside f() : '> , a)> # Variable 'a' is redefined as a local> def> g():> > a> => 2> > print> (> 'Inside g() : '> , a)> # Uses global keyword to modify global 'a'> def> h():> > global> a> > a> => 3> > print> (> 'Inside h() : '> , a)> # Global scope> print> (> 'global : '> , a)> f()> print> (> 'global : '> , a)> g()> print> (> 'global : '> , a)> h()> print> (> 'global : '> , a)> |
>
>Uitvoer
global : 1 Inside f() : 1 global : 1 Inside g() : 2 global : 1 Inside h() : 3 global : 3>
Verschil z/w Lokale variabele vs. Globale variabelen
Vergelijkingsbasis | Globale variabele | Lokale variabele |
Definitie | buiten de functies verklaard | gedeclareerd binnen de functies |
Levenslang | Ze worden aangemaakt zodra de uitvoering van het programma begint en gaan verloren wanneer het programma wordt beëindigd | Ze worden gemaakt wanneer de functie wordt uitgevoerd en gaan verloren wanneer de functie eindigt |
Het delen van gegevens | Biedt gegevensuitwisseling | Het biedt geen gegevens delen |
Domein | Kan toegang krijgen via de hele code | Alleen toegang binnen de functie |
Parameters nodig | Het doorgeven van parameters is niet nodig | Het doorgeven van parameters is noodzakelijk |
Opslag | Een vaste locatie geselecteerd door de compiler | Ze worden op de stapel bewaard |
Waarde | Zodra de waarde verandert, wordt dit door de hele code weerspiegeld | eenmaal gewijzigd heeft de variabele geen invloed op andere functies van het programma |