Een variabele is een plaats in het geheugen van de computer die een naam heeft gekregen, en waarin je een waarde kunt opslaan. De naam mag je zelf kiezen, en wordt over het algemeen de “variabele naam” genoemd.
Om een variabele te creëren in Python (dus om een variabele naam te
kiezen) moet je een waarde “toekennen” aan gekozen naam middels het
is-gelijk (=
) symbool. Aan de linkerkant van het is-gelijk symbool zet
je de variabele naam, en aan de rechterkant de waarde die je wilt
opslaan in de variabele. Dit kan ik het beste uitleggen aan de hand van
een voorbeeld:
x = 5
print( x )
In deze code gebeuren twee dingen. Ten eerste wordt er een variabele
gecrëerd met de naam x
door er een waarde in op te slaan, in dit geval
de waarde 5. In het Engels heet dit een “assignment”, en het is-gelijk
teken wordt ook wel de “assignment operator” genoemd. Ten tweede wordt
de inhoud van de variabele x
op het scherm getoond middels print()
.
Merk op dat print( x )
niet de letter x
toont, maar de waarde die in
de variabele x
is opgeslagen.
Je kunt je de variabele x
voorstellen als een doos waarop je met een
dikke, zwarte viltstift een x
hebt geschreven, zodat je hem later
gemakkelijk terug kunt vinden. Je kunt iets in de doos stoppen, en je
kunt in de doos kijken om te zien wat er in zit (er kan wel slechts één
ding tegelijkertijd in de doos zitten). Je kunt aan de inhoud van de
doos refereren door de naam te gebruiken die je op de doos hebt
geschreven. De term “variabele” duidt op de variabele naam, dus de
letter x
op de doos. De term “waarde” duidt op de waarde die is
opgeslagen in de variabele, dus de inhoud van de doos.
Aan de rechterkant van het is-gelijk teken kun je alles plaatsen wat een
waarde oplevert. Het hoeft niet een enkel getal te zijn. Het mag ook een
berekening zijn, of een string, of een aanroep van een functie die een
waarde oplevert (bijvoorbeeld de int()
functie).
Opgave
In het vorige hoofdstuk was er een oefenopgave die je het aantal seconden in een week liet uitrekenen. Kopieer die berekening in een programma, en ken hem toe aan een variabele. Druk dan de variabele af.
De eerste keer in je programma dat je een waarde toekent aan een specifieke variabele naam, wordt de bijbehorende variabele gecreëerd. Als je later een andere waarde aan dezelfde variabele toekent, wordt de eerste waarde “overschreven.” In de metafoor van de doos: je maakt de doos leeg en stopt er iets nieuws in. Een variabele bevat altijd de laatst-verkregen waarde.
x = 5
print( x )
x = 7 * 9 + 13 # overschrijft de vorige waarde van x
print( x )
x = "En nu iets heel anders..."
print( x )
x = int( 15 / 4 ) - 27
print( x )
Als een variabele is aangemaakt (en dus een waarde heeft) kun je hem overal in je code gebruiken waar je waardes gebruikt. Je kunt bijvoorbeeld de variabele gebruiken in een berekening.
x = 2
y = 3
print( "x =", x )
print( "y =", y )
print( "x * y =", x * y )
print( "x + y =", x + y )
Je kunt de inhoud van een variabele kopiëren in een andere variabele, via de assignment operator.
x = 2
y = 3
print( "x =", x, "en y =", y )
# Verwissel de waardes van x en y via z
z = x
x = y
y = z
print( "x =", x, "en y =", y )
Als je een waarde toekent aan een variabele, mag je zelfs de variabele zelf gebruiken aan de rechterkant van de toekenning, zolang de variabele maar bestaat op het moment dat je dat doet. De rechterkant van een assignment wordt altijd geheel geëvalueerd voordat de toekenning plaatsvindt.
x = 2
print( x )
x = x + 3
print( x )
Merk op dat de variabele gecreëerd moet zijn voordat je hem kunt
gebruiken. De volgende code geeft een fout, omdat dagen_per_jaar
nog
niet gecreëerd is voordat hij gebruikt wordt in de eerste regel:
print( dagen_per_jaar )
dagen_per_jaar = 365