PF

BUILDING BLOCKS OF CODE

02                                        2025-2026

We ontdekken hoe we gegevens omzetten met typecasting, berekeningen en vergelijkingen maken met operators, beslissingen laten nemen met if-else statements, en code overzichtelijk houden met functies.

BUILDING BLOCKS OF CODE

INT, FLOAT & TYPECASTING

01

01

INT, FLOAT & TYPECASTING

Integer (int)

age = 25  # Dit is een integer
print(age)  # Geeft: 25

In dit voorbeeld is de variabele een integer (25), wat betekent dat het een heel getal is.

Float (int)

height = 1.75  # Dit is een float
print(height)  # Geeft: 1.75

In dit voorbeeld is de variabele een float (1.75), wat betekent dat het een getal met een decimale punt is.

INT vs FLOAT

Eerder werkten we vooral met strings, maar Python kent veel meer soorten gegevens. Zo kunnen we ook met getallen werken, waarbij we onderscheid maken tussen twee belangrijke typen: Integer (int) en Float.

LET OP: In programmeren is een komma aangeduid met een punt!

01

INT, FLOAT & TYPECASTING

Van Float naar Integer - int()

decimal_number = 7.99
whole_number = int(decimal_number)  # Convert float naar int
print(whole_number)  # Geeft: 7

In dit voorbeeld wordt het getal 7.99 omgezet naar 7 omdat de int()-functie het decimaal gedeelte weglaat.

Van Float naar Integer - float()

whole_number = 5
decimal_number = float(whole_number)  # Convert int naar float
print(decimal_number)  # Geeft: 5.0

In dit voorbeeld wordt het getal 5 omgezet naar de float 5.0

TYPECASTING

Bewerkingen met int en float hebben invloed op het eindresultaat én op het datatype van de uitkomst. Daarom maken we gebruik van Typecasting. Typecasting betekent het omzetten van het ene datatype naar een ander.

01

INT, FLOAT & TYPECASTING

Van String naar Integer

number_string = "45"
number = int(number_string)  # Convert string naar int
print(number)  # Geeft: 45

Van String naar Float

decimal_string = "3.14"
decimal_number = float(decimal_string)  # Convert string naar float
print(decimal_number)  # Geeft: 3.14

#Omzetten naar een int zou hier resulteren in '3'

TYPECASTING

Met een string kan je niet zomaar wiskundige berekeningen doen. We kunnen deze wel omzetten naar een int of een float.

BUILDING BLOCKS OF CODE

OPERATORS

02

01

02

OPERATORS

Python heeft verschillende soorten operators, waaronder:

  1. Rekenkundige operators (Arethmic Operators)
  2. Vergelijkingsoperators (Relational Operators)
  3. Logical Operators
  4. Assignment Operators

OPERATORS

In Python gebruiken we operators om berekeningen uit te voeren en waarden te vergelijken. Operators zijn symbolen die bewerkingen op variabelen en waarden uitvoeren.

02

OPERATORS

Operator Beschrijving Voorbeeld
+ Optellen 5 + 3 geeft 8
- Aftrekken 5 - 3 geeft 2
* Vermenigvuldigen 5 * 3 geeft 15
/ Delen 5 / 2 geeft 2.5
// Floor division (gehele deling) 5 // 2 geeft 2
% Modulus (rest van de deling) 5 % 2 geeft 1
** Machtsverheffing 5 ** 2 geeft 25

ARITHMETIC

Deze operators worden gebruikt voor wiskundige berekeningen.

02

OPERATORS

Operator Beschrijving Voorbeeld
== Gelijk aan 5 == 3 geeft False
!= Niet gelijk aan 5 != 3 geeft True
> Groter dan 5 > 3 geeft True
< Kleiner dan 5 < 3 geeft False
>= Groter dan of gelijk aan  5 >= 2 geeft True
<= Kleiner dan of gelijk aan 5 <= 2 geeft False

RELATIONAL

Vergelijksoperatoren worden gebruikt om waarden te vergelijken en geven True of False terug.

02

OPERATORS

Operator Beschrijving Voorbeeld
and Waar als beide voorwaarden voldoen (5 > 3 and 2 < 4) geeft True
or Waar als minstens één voorwaarde voldoet (5 > 3 or 2 < 4) geeft True
not Keert de waarde om (bv. False -> True) not(5 > 3) geeft False

LOGICAL

Logische operators worden gebruikt om meerdere voorwaarden te combineren. Ook dit geeft True of False terug

02

OPERATORS

Operator Beschrijving Voorbeeld
Toewijzing x = 5
+= Optellen en toewijzen x += 3 (gelijk aan x = x + 3)
-= Aftrekken en toewijzen x -= 2 (gelijk aan x = x - 2)
*= Vermenigvuldigen en toewijzen x *= 4 (gelijk aan x = x * 4)
/= Delen en toewijzen x /= 2 (gelijk aan x = x / 2)

ASSIGNMENT

Assignment operators worden gebruikt om waarden aan variabelen toe te wijzen en direct te wijzigen.

02

OPERATORS

Denk zelf eens na over de volgende statements en bepaal wat het juiste resultaat zou moeten zijn.

TRY IT OUT

10 <= 12 True
4 == 10    False
8 % 2 == 0 True
​7 < 2 or 9 > 4  True
not (6 == 6)  False
​(7 > 5 and 2 > 3) or (4 <= 4)  True
​((15 / 3) == 5) and not (4 * 2 < 7)  True
​(10 > 20) or ((3 ** 2 == 9) and 7 < 6)  False 
not ((8 % 3 == 2) and (5 * 2 == 11)) True
​(3 * 3 == 9) and (10 / 2 == 5)  True

02

OPERATORS

Doel: Gebruik operators en typecasting om een BMI te berekenen.

Schrijf een Python-programma dat de Body Mass Index (BMI).
Formule voor BMI: gewicht (kg) / (lengte (m) * lengte (m)).

Voorbeeld uitvoer:

Voer uw gewicht in (kg): 70
Voer uw lengte in (m): 1.75
Uw BMI is: 22.86

Vereisten:

  • Vraag de gebruiker om hun gewicht in kilogrammen en lengte in meters.
  • Gebruik rekenkundige operators om de BMI te berekenen.
  • Rond het resultaat af op 2 decimalen met de functie round().
  • Print de BMI met een duidelijke boodschap.

OPDRACHT

BUILDING BLOCKS OF CODE

CONDITIONAL STATEMENTS

03

01

03

CONDITIONAL STATEMENTS

De if-else statement wordt gebruikt om beslissingen te nemen in je code. Het stelt je in staat om condities te evalueren en op basis van die condities verschillende blokken code uit te voeren.

De algement structuur van een if-else statement is als volgt

if <voorwaarde>:
    # Code die uitgevoerd wordt als de voorwaarde True is
else:
    # Code die uitgevoerd wordt als de voorwaarde False is

IF - ELSE

03

CONDITIONAL STATEMENTS

We nemen een eenvoudig voorbeeld waarin we het invoeren van een getal controleren en bepalen of het positief of negatief is.

Schrijf volgende code in je script

number = int(input("Geef een getal in: ")) #typecasten onze string naar int

if number > 0:
    print("Het getal is positief.")
else:
    print("Het getal is niet positief.")

Hier is het belangrijk dat we ons getal typecasten (string -> int) zodat de operators hun werk kunnen doen.

IF - ELSE

03

CONDITIONAL STATEMENTS

Hoewel je alleen een if kunt gebruiken, is dat niet altijd efficiënt. Zonder elif of else worden alle condities afzonderlijk geëvalueerd, ook als verdere acties niet nodig zijn.

Voorbeeld code

number = int(input("Geef een getal in: "))

if number > 0:
    print("Het getal is positief.")
if number < 0:
    print("Het getal is negatief.")
if number == 0:
    print("Het getal is nul.")

Dit vereist extra berekeningen van het programma, wat niet ideaal of efficiënt is

ONLY IF

03

CONDITIONAL STATEMENTS

Met elif en else wordt alleen de eerste waarheidsgetrouwe conditie uitgevoerd. Zo controleer je meerdere condities efficiënt, terwijl else alleen wordt uitgevoerd als geen van de eerdere condities waar is.

if <voorwaarde1>:
    # Code als voorwaarde1 waar is
elif <voorwaarde2>:
    # Code als voorwaarde2 waar is
else:
    # Code als geen van de voorwaarden waar is

De algement structuur van een if-elif-else statement is als volgt

ELIF / ELSE

03

CONDITIONAL STATEMENTS

We gebruiken opnieuw het voorbeeld van positief of negatief getal, maar deze keer op een efficiënte manier.

number = int(input("Geef een getal in: "))

if number > 0:
    print("Het getal is positief.")
elif number < 0:
    print("Het getal is negatief.")
else:
    print("Het getal is nul.")

Schrijf volgende code in je script

Test nu alle scenario’s. We controleren onze code altijd zorgvuldig en grondig.

ELIF / ELSE

03

CONDITIONAL STATEMENTS

in Python 3.10 werd de match-statement geintroduceerd. Dit is een krachtige manier om patroon matching toe te passen.

match <variabele>:
    case <waarde1>:
        # Code als <variabele> gelijk is aan <waarde1>
    case <waarde2>:
        # Code als <variabele> gelijk is aan <waarde2>
    case _:
        # Code als geen van de bovenstaande gevallen waar is

De structuur van de match-statement is als volgt

MATCH

03

CONDITIONAL STATEMENTS

we maken een voorbeeld waarbij we verschillende berichten afdrukken op basis van de dag van de week

day = input("Welke dag is het vandaag? ").lower()

match day:
    case "maandag":
        print("Het is maandag, begin van de week!")
    case "vrijdag":
        print("Het is vrijdag, bijna weekend!")
    case "zondag":
        print("Het is zondag, tijd om te ontspannen.")
    case _:
        print("Dit is een andere dag van de week.")

Schrijf volgende code in je script

Run het script en test alle cases uit.

MATCH

BUILDING BLOCKS OF CODE

FUNCTIONS (DEFINITIONS)

04

01

04

FUNCTION (DEFINITIONS)

Een functie is een blok code dat een specifieke taak uitvoert en herhaaldelijk kan worden aangeroepen. Functies delen de code op in kleinere, beheersbare delen. In Python definieer je een functie met def.

Voeg volgende functie toe aan je script.

def greet():
  print("Hello, MedTech!")

TIP: Wanneer je in python een ‘:’ ziet dan moet je een indenatie (tab) invoegen.

Voer nu de functie uit door het aan te roepen als volgt.

def greet(): #Hier maken we een functie aan
  print("Hello, MedTech!")
  
greet() #Hier roepen we het aan

DEF

04

FUNCTION (DEFINITIONS)

Functies accepteren paramters, wat betekent dat je gegevens aan de functie kunt doorgeven. Deze gegevens worden gebruikt in de functie om een bepaalde taak uit te voeren.

Maak volgende functie aan in het script.

def greet(name):
    print("Hello, " + name + "!")

'name' kan je hier zien als een tijdelijke variabele die we gebruiken in de functie.

Voer nu de functie uit door het aan te roepen en een parameters mee te geven.

name = input("What is your name? ")
greet(name)  # Als de gebruiker 'John' invoert, geeft het: Hello, John!

PARAMETERS

04

FUNCTION (DEFINITIONS)

Een functie is in staat om zoveel parameters te accepteren zoals je wenst. Dit doen we door deze te scheiden met een ','-teken.

Maak volgende functie aan in het script.

def introduce(name, age):
    print("Hello, my name is " + name + " and I am " + str(age) + " years old.")

We converteren onze leeftijd naar een str omdat ik een nummer kan verwachten.

Voer nu de functie uit door het aan te roepen en de parameters mee te geven.

name = input("What is your name? ")
age = int(input("What is your age? "))
introduce(name, age)  # Bijvoorbeeld: Hello, my name is John and I am 25 years old.

PARAMETERS +

04

FUNCTION (DEFINITIONS)

Met de return-statement kun je een waarde teruggeven uit een functie, zodat die waarde kan gebruikt worden in het programma en/of worden opgeslaan in een variabele.

Maak volgende functie aan om getallen op te tellen.

def add(a, b):
    return a + b

Voer nu de functie uit door het aan te roepen en de parameters mee te geven.

result = add(5, 3)
print(result)  # Geeft: 8

RETURN

04

FUNCTION (DEFINITIONS)

Je kunt standaardwaarden instellen voor de parameters van een functie, zodat de functie werkt zelfs als je geen argumenten doorgeeft.

Maak volgende functie aan met een standaardwaarde.

def greet(name="Guest"):
    print("Hello, " + name + "!")

Voer nu de functie uit door het aan te roepen zonder en met een parameter.

greet()  # Geeft: Hello, Guest!
greet("Alice")  # Geeft: Hello, Alice!

DEFAULT

04

FUNCTION (DEFINITIONS)

Soms wil je een functie schrijven die een willekeurig aantal argumenten kan ontvangen. In Python kan dat met de args-syntaxis.

Maak volgende functie aan met args *

def print_names(*names):
    for name in names:
        print(name)

Hier gebruiken we een for-loop. Dit komt later nog aan bod maar hebben we in dit geval nodig.

Voer nu de functie uit door het aan te roepen met een paar parameters.

print_names("John", "Alice", "Bob")
# Geeft:
# John
# Alice
# Bob

ARGS

04

FUNCTION (DEFINITIONS)

In Python moet je een functie eerst definiëren voordat je deze kunt aanroepen. Doe je dat niet, dan verschijnt er een NameError omdat de functie nog niet bekend is.

Foutieve volgorde

greet()  # Fout! De functie is nog niet gedefinieerd (bestaat nog niet)

def greet():
    print("Hello, world!")
def greet():
    print("Hello, world!")

greet()  # Dit werkt nu correct!

Correcte volgorde

ORDER

04

FUNCTION (DEFINITIONS)

Om code overzichtelijk te houden, plaatsen we de hoofdlogica meestal in een main()-functie, die we pas aan het einde van het script aanroepen. Zo blijft de structuur duidelijk en voorkom je dat de functie op een ongewenst moment wordt uitgevoerd.

def main():
    name = input("What is your name? ")
    greet(name)

def greet(name):
    print("Hello, " + name + "!")

# Het aanroepen van de main-functie aan het einde van je script
if __name__ == "__main__":
    main()

De voorwaarde if __name__ == "__main__":  zorgt ervoor dat de code in de main()-functie alleen wordt uitgevoerd als het script rechtstreeks wordt uitgevoerd.

MAIN()

BUILDING BLOCKS OF CODE

EXCEPTIONS

05

01

05

EXCEPTIONS

"In Python, errors can occur during the execution of a program. These errors are called exceptions. An exception is an error that happens when a program tries to perform an action that is not allowed or that leads to an invalid state. For example, trying to read from an empty file or dividing by zero."

EXCEPTION

05

EXCEPTIONS

In plaats van dat je programma crasht wanneer een exception optreedt, kun je met behulp van de try-except-blokken in Python deze fouten afhandelen en een meer controleerbare manier van reageren bieden.

De basisstructuur van exception-afhandeling

try:
    # Code die mogelijk een exception kan veroorzaken
except <fout-type>:
    # Code die uitgevoerd wordt als de exception optreedt

De try-blok bevat de code die je probeert uit te voeren. Als er een fout optreedt, wordt de code in de except-blok uitgevoerd.

De except-blok vangt een specifieke fout (exception) op en laat de code binnenin uitvoeren als die fout optreedt.

TRY ... EXCEPT

05

EXCEPTIONS

Stel je voor dat je een programma hebt dat de gebruiker om een getal vraagt en dit getal deelt door een ander getal. Er is echter een kans dat de gebruiker nul invoert, wat zou leiden tot een fout.

try:
    a = int(input("Geef het eerste getal: "))
    b = int(input("Geef het tweede getal: "))
    result = a / b
    print("Het resultaat is:", result)
except ZeroDivisionError:
    print("Fout: je kunt niet delen door nul!")
except ValueError:
    print("Fout: zorg ervoor dat je getallen invoert!")

Het try-blok bevat de code die normaal zou worden uitgevoerd: de invoer van twee getallen en de deling.

De except ZeroDivisionError-blok vangt de fout op als de gebruiker probeert door nul te delen.

De -except ValueError-blok vangt de fout op als de gebruiker geen geldige getallen invoert.

TRY ... EXCEPT

05

EXCEPTIONS

Python biedt verschillende specifieke fouttypes die je kunt vangen met een except-blok. Een paar van de meest voorkomende fouttypes zijn:

ZeroDivisionError: delen door nul.

ValueError: ongeldige waarde, bv. string to int omzetten die geen getal is.

FileNotFoundError: een niet-bestaand bestand openen.

IndexError: een lijst benaderen met een ongeldige index.

TYPES

05

EXCEPTIONS

Je hoeft niet telkens een specifieke error te plaatsen. Soms weet je ook niet welke fout er zal optreden. Daarvoor hebben we 'Exception' als algemene.

try:
    # Code die een onbekende fout kan veroorzaken
    x = 10 / 0  # Dit veroorzaakt een ZeroDivisionError
except Exception as e:
    print(f"Er is een onverwachte fout opgetreden: {e}")

De 'except Exception as e' vangt alle types van fouten die niet eerder specifiek gedefinieerd zijn.

GENERAL

05

EXCEPTIONS

Naast try en except kun je ook een else-blok en een finally-blok toevoegen om respectievelijk code uit te voeren als er geen exception optreedt, of om altijd bepaalde taken uit te voeren, ongeacht of er een fout optreedt of niet.

try:
    number = int(input("Geef een getal in: "))
    result = 10 / number
except ZeroDivisionError:
    print("Fout: je kunt niet delen door nul!")
except ValueError:
    print("Fout: je moet een geldig getal invoeren!")
else:
    print("Het resultaat is:", result)
finally:
    print("Dit wordt altijd uitgevoerd, ongeacht of er een fout optrad.")

De 'except Exception as e' vangt alle types van fouten die niet eerder specifiek gedefinieerd zijn.

ELSE ... FINALLY

PF/2 - Building Blocks of Code

By Niels Minne

PF/2 - Building Blocks of Code

  • 240