Slimme berichten met f-strings
Je kunt variabelen aanmaken en printen, en rekenen met operatoren. In deze les maak je je uitvoer veel mooier met f-strings.
Je rekenmachine uit les 3 werkte, maar de uitvoer (print("Som:", som)) was niet zo netjes. Met f-strings vlecht je tekst en variabelen tot één gladde zin.
Hoe werkt een f-string?
Een f-string is een string met een f ervoor. Variabelen zet je rechtstreeks tussen {}:
naam = "Alex"
leeftijd = 15
print(f"Hallo, ik ben {naam} en ik ben {leeftijd} jaar oud.")
Uitvoer:
Hallo, ik ben Alex en ik ben 15 jaar oud.
Je kunt ook berekeningen doen binnen de accolades:
leeftijd = 15
print(f"Volgend jaar ben ik {leeftijd + 1} jaar.")
Probeer zelf
Maak een variabele naam met je eigen naam, en print Hallo, [naam]! met een f-string.
naam = ... # Print een begroeting met een f-string print(...)
✅ Oplossing
naam = "Alex"
print(f"Hallo, {naam}!")
Predict
Wat print dit programma?
product = "Appel"
prijs = 1.5
aantal = 3
print(f"Product: {product}")
print(f"Prijs: €{prijs}")
print(f"Totaal: €{prijs * aantal}")
Bekijk het antwoord
Product: Appel
Prijs: €1.5
Totaal: €4.5
In de laatste regel wordt de berekening prijs * aantal direct in de f-string gedaan.
Run
Voer de code uit. Klopt het?
Verander aantal = 3 in aantal = 10. Wat zie je in de uitvoer?
Bekijk het antwoord
Product: Appel
Prijs: €1.5
Totaal: €15.0
Het programma berekent automatisch het nieuwe totaal — de f-string gebruikt de actuele waarde van de variabele.
Investigate
Kun je meerdere variabelen in één f-string combineren? En berekeningen met meerdere variabelen?
a = 10
b = 4
print(f"{a} + {b} = {a + b}")
print(f"{a} keer {b} is {a * b}")
Bekijk het antwoord
10 + 4 = 14
10 keer 4 is 40
Een f-string kan zoveel accolades hebben als je wilt, en binnen elke {...} mag een variabele of berekening staan.
Er gaat iets mis
Een veelgemaakte fout:
naam = "Alex"
leeftijd = 15
print(f"Volgend jaar ben je {leeftijd + 1 jaar.")
Foutmelding:
SyntaxError: f-string: expecting '}'
Waarom? De accolade { is geopend maar niet gesloten. Alles tussen { en } moet geldige Python-code zijn — je kunt geen vrije tekst (zoals jaar) toevoegen bínnen de accolades.
Oplossing: Zet de tekst buiten de accolades:
print(f"Volgend jaar ben je {leeftijd + 1} jaar.")
Modify
Pas de code hieronder aan zodat hij een nette zin print met behulp van een f-string.
naam = "Alex"
leeftijd = 15
# Vervang deze regel door één f-string met beide variabelen
print("Hallo", naam, "je bent", leeftijd, "jaar")💡 Tip
Gebruik f"..." en zet de variabelen tussen {}.
✅ Oplossing
naam = "Alex"
leeftijd = 15
print(f"Hallo {naam}, je bent {leeftijd} jaar.")
Make: Volgend jaar
Schrijf een programma met twee variabelen (naam en leeftijd). Print één zin met een f-string die zegt hoe oud je volgend jaar wordt.
Verwachte uitvoer (bij naam = "Alex" en leeftijd = 15):
Hoi Alex! Volgend jaar word je 16.
naam = "Alex" leeftijd = 15 # Print één f-string met de naam en de leeftijd + 1 print(...)
💡 Tip
Eén print() met een f-string die zowel {naam} als {leeftijd + 1} bevat.
✅ Oplossing
naam = "Alex"
leeftijd = 15
print(f"Hoi {naam}! Volgend jaar word je {leeftijd + 1}.")
Make Bonus: Rekenmachine met f-strings
Herinner je de rekenmachine van les 3? Herschrijf hem met f-strings zodat de uitvoer er netter uitziet.
Verwachte uitvoer:
10 + 4 = 14
10 - 4 = 6
10 x 4 = 40
10 / 4 = 2.5
a = 10 b = 4 # Print elke berekening op één regel met een f-string print(...) print(...) print(...) print(...)
💡 Tip
print(f"{a} + {b} = {a + b}") voor optellen. Vergelijkbaar voor de andere drie.
✅ Oplossing
a = 10
b = 4
print(f"{a} + {b} = {a + b}")
print(f"{a} - {b} = {a - b}")
print(f"{a} x {b} = {a * b}")
print(f"{a} / {b} = {a / b}")
Je kunt nu variabelen netjes in tekst weven. In de volgende les leer je string-methoden waarmee je tekst zelf kunt veranderen — bijvoorbeeld in hoofdletters of een woord vervangen.