Het is ook mogelijk om variabelen die buiten een functie gedefinieerd zijn binnen een functie aan te passen. Dit noemen we globale variabelen. Het is een goede gewoonte om globale variabelen zoveel mogelijk te vermijden en enkel gebruik te maken van lokale variabelen. Op die manier is elke functie onafhankelijk van het computerprogramma waarin het geschreven is.
Soms kan het nodig zijn globale variabelen te gebruiken. Dit kan je doen door, voor je de variabele verandert, aan te duiden dat deze variabele globaal is.
👀 Voorbeeld - Aanwezigen
Het volgende computerprogramma telt het aantal aanwezigen in een zaal. We maken daarvoor een variabele
aanwezigen
. Daarnaast is er een functieplus
, die opgeroepen wordt wanneer er iemand binnenkomt, en een functiemin
, die opgeroepen wordt wanneer er iemand buitengaat.aanwezigen = 0 def plus(): global aanwezigen aanwezigen += 1 def min(): global aanwezigen aanwezigen -= 1
Stel nu dat er drie mensen de zaal binnengaan, en een persoon de zaal verlaat. We roepen dan de volgende functies op.
plus() plus() plus() min() print(aanwezigen)
Voer dit programma eens uit in de sandbox. Je zal zien dat er nog twee aanwezigen in de zaal geteld worden.
Dit is een voorbeeld van een computerprogramma waar een globale variabele nodig is. Onthou wel dat het programmeren met lokale variabelen aangewezen is: het geeft minder aanleiding tot fouten en fouten zijn makkelijker op te sporen.