Python variabelen

Op deze pagina:

Variabelen in Python (en andere programmeertalen) zijn net als variabelen in de wiskunde, symbolen die een waarde voorstellen die kan veranderen. In de wiskunde bestaat de naam van een variabele uit een enkele letter, in Python is het handiger om hele woorden te gebruiken als naam van een variabele die aangeven wat de variabele is.

In Python heb je enkelvoudige variabelen die bijvoorbeeld een getal, een waar/niet waar (booleans) of die tekst bevatten, en je hebt meervoudige variabelen, deze bevatten verzamelingen met gegevens (lists en tuples).

Enkelvoudige variabelen hoef je niet van te voren te declareren, maar kun je meteen toewijzen. Python ziet dan zelf of het gaat om een integer (geheel getal), een float (getal met iets achter de komma, let op: in Python wordt de punt als decimaal teken gebruikt), een waar/niet waar (boolean) of een string (tekst).

Een berekening met twee gehele getallen kan als resultaat een float opleveren, Python3 rond dit niet af, maar maakt van het resultaat een float.


mijncijfer = 5
mijnbedrag = 4.98
mijnboolean = False
mijntekst = 'Hallo wereld!'

Meervoudige variabelen kun je eerst initialeren of ook meteen toewijzen, maar bij het toewijzen geef je via de schrijfwijze meteen al aan om wat voor variabele het gaat (lists met vierkante haken, tuples met ronde haken, sets en dictionaries met gekrulde haken).


fruit_list = ['Appels', 'Peren', 'Bananen', 'Druiven', 'Aardbeien', 'Bessen', 'Citroenen']

mijn_tuple = ('appels', 'peren', 1997, 2000)

mijnset = {4,6,8,2}

fruit_kleur_dictionary = {'Appels': 'geel', 'Bananen': 'geel', 'Peren': 'groen', 'Druiven': 'wit', 'Aardbeien': 'rood', 'Bessen': 'blauw', 'Citroenen': 'geel'}

Tuples zijn immutable, wat inhoudt dat je ze kunt toewijzen, maar daarna niet meer kunt veranderen.

Variabelen vergelijken

Is de waarde van de ene variabele gelijk aan de waarde van de andere variabele? Dit kan bekeken worden met == (dubbel is gelijk teken):


print(a == b)

Bovenstaande zal True geven als aen b gelijk zijn en False als a en b ongelijk zijn.

Het omgeleerde kan gecontroleerd worden met != (uitroepteken gevolgd door is gelijk teken):


print(a != b)

Bovenstaande zal True geven als a ongelijk is aan b en zal False geven als a wel gelijk is aan b.

Groter dan en kleiner dan kunnen ook gecontroleerd worden:


print(a > b)
print(a < b)

Dit kan ook in combinatie met is gelijk:


print(a <= b)
print(a >= b)

Rekenen met variabelen

Standaard zijn de meest voorkomende berekenngen mogelijk met Python:

OperatorBewerking
+optellen
-aftrekken
*vermenigvuldigen
/delen
**machtsverheffen

Je kunt ook haakjes gebruiken in een berekening:


print(25 * 3 / (5 ** 2 - 20))

De waarde van een variabele aanpassen via een berekening waar diezelfde variabele in voorkomt is ook mogelijk:


a = a + 5

Er is ook een verkorte schrijfwijze voor het toewijzen van een waarde aan een variabele via een berekening waar die variabele zelf in voorkomt:


a += 6
a -= 5
a *= 4
a /= 3
a **= 2

Dit houdt in dat a += 6 een verkorte schrijfwijze is voor a = a + 6.

Python heeft ook een math library die je kunt gebruiken voor complexere berekeningen. Om de math library te gebruiken, moet een import regel toevoegen in je script, het beste is om dit vlak na de shebang regel te doen, dus aan het begin van je script.


import math

De math library kan onder andere gebruikt worden om de wortel van een getal te berekenen (sqrt). Je moet dan wel steeds aangeven in welke library de functie is te vinden door de functie vooraf te gaan met de naam van de library gevolgd door een punt:


math.sqrt(10 + 15)

Controleren of een variabele een integer of ander type is

Je kunt controleren of een variabele een integer (of een ander type) is met de type() functie. Je geeft dan de variabele als argument en vergelijkt het resultaat met de int (of een andere) class:


woord = 1
print(type(woord) == int)  # True

Je kunt ook isinstance() gebruiken met twee argumenten: de variabele en de int (of een andere) class:


woord = 1
print(isinstance(woord, int))  # True


letter = 0.1
print(type(letter) == float)  # True

Het bereik van variabelen

Het bereik van een variabele, dus waar een variabele beschikbaar is, is afhankelijk van waar deze variabele is aangemaakt.

Als je een variabele buiten een functie aanmaakt, dan is deze algemeen beschikbaar nadat deze is aangemaakt. Het is dan een globale variabele.


waarde = 8

def mijnfunctie():
    print(waarde)

print(waarde)  # 8
mijnfunctie()  # 8

Als je een variabele aanmaakt binnen een functie, dan is deze alleen binnen de functie beschikbaar, het is dan een lokale variabele.


def mijnfunctie():
    waarde = 9
    print(waarde)

mijnfunctie  # 9
print(waarde)  # NameError: name 'waarde' is not defined

 

Verwante artikelen