← Python/De eerste bouwstenen
Les 3 van 8
MODULE 01 · 03◷ 12 min

Maak tekst persoonlijk

Na deze les kun je
  • Een waarde in tekst invoegen
  • Tekst en een berekening combineren

Een kaal getal vertelt weinig: is het een prijs, een afstand of het aantal afgeronde lessen? Met een herkenbaar bericht maak je berekende waarden bruikbaar voor iemand die je code niet kent. Je gaat vaste tekst en veranderende gegevens samen in één zin zetten.

Ruimte maken voor een waarde

Een f-string is een tekst waarin Python waarden kan invullen. Je herkent hem aan de letter f direct vóór het eerste aanhalingsteken. Binnen de tekst markeren accolades, de tekens { en }, de plekken die Python moet invullen.

Bij f"Hallo, {visitor}" is Hallo, het vaste deel van het bericht. Python zoekt de waarde van visitor op en zet de tekstweergave daarvan op de plek tussen de accolades. De accolades zelf verschijnen niet in de uitvoer.

Spaties en leestekens buiten de accolades blijven gewone tekst. Wil je een spatie tussen een naam en een getal, dan moet die dus in je f-string staan. Python verzint geen zin of opmaak voor je: jij bepaalt hoe het bericht eruitziet.

Een variabele tussen accolades moet al een waarde hebben. De code wordt nog steeds van boven naar beneden uitgevoerd, zoals bij de vorige les. Zet de toekenning daarom vóór de regel die de variabele in een bericht gebruikt.

Een bericht voor een wandelgroep

Het voorbeeld gebruikt een naam en een afstand. Voorspel ook het tweede bericht: tussen de accolades staat daar meer dan alleen een variabelenaam.

Afstand voor een deelnemer
visitor = "Noor"
distance = 7
print(f"{visitor} wandelt {distance} kilometer.")
print(f"Met omweg: {distance + 2} kilometer.")
Verwachte uitvoer
Noor wandelt 7 kilometer.
Met omweg: 9 kilometer.

Python rekent distance + 2 uit voordat het de waarde in de tekst plaatst. Daardoor komt in het tweede bericht negen te staan, zonder dat je een extra variabele hoeft aan te maken. distance zelf blijft zeven, want er wordt niets nieuws aan die naam toegekend.

Een f-string is handig wanneer een bericht een vast patroon heeft maar de gegevens wisselen. Je kunt bijvoorbeeld dezelfde zin voor iedere deelnemer gebruiken door de naam bovenaan te veranderen. Je hoeft dan niet op verschillende plekken in de tekst naar de oude naam te zoeken.

De ontbrekende letter

Zonder de f is je tekst nog steeds geldige Python-code. Het programma kan dan netjes draaien en toch een onverwacht bericht tonen.

Een bericht zonder en met f
distance = 7
print("Afstand: {distance}")
print(f"Afstand: {distance}")
Verwachte uitvoer
Afstand: {distance}
Afstand: 7

In de eerste regel behandelt Python de accolades als gewone tekens. De tweede regel is een f-string en vult daarom de waarde in. Als je letterlijk een variabelenaam tussen accolades terugziet, controleer dan eerst of de f vóór het aanhalingsteken staat.

De plek van die letter is belangrijk: een f binnen de aanhalingstekens hoort bij de tekst. Laat ook de naam binnen de accolades exact overeenkomen met de variabele. Hoofdletters tellen bij namen mee.

Nu jij

Maak met de bestaande variabelen een begroeting en een bericht over het nummer van de volgende les. Lees de gevraagde zinnen nauwkeurig: ook de spatie na de dubbele punt hoort bij de uitvoer.

AAN DE SLAG 0/2
1

Begroet de deelnemer

Gebruik name om de begroeting Welkom, Sam! op de eerste regel te tonen.

2

Bepaal de volgende les

Gebruik lessons om Volgende les: 5 op de tweede regel te tonen. Tel er eerst één bij op.

Dit neem je mee

  • De f vóór de tekst schakelt het invullen van waarden in.
  • Tussen accolades kan een variabele of een berekening staan.
  • De vaste tekst bepaalt spaties, hoofdletters en leestekens.

Hierna leer je welke rekenoperator past bij verdelen en bijhouden wat er overblijft.

main.py
UitvoerPython
›
›_

Hier komt je resultaat.

Voer je code uit en ontdek
wat je hebt gemaakt.

0/2 stappen
EVEN MEEKIJKEN

Bekijk hoe het kan.

Je mag de oplossing bekijken. Deze poging telt dan niet mee als afgeronde les. Met Reset kun je daarna opnieuw zelf oefenen.