logo

Globale en lokale variabelen in Python

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