Direct naar de hoofdinhoud
Module 1 · Les 4 van 44/36 in de cursus~8 min
Modulelessen (4/4)

Bedrukking en f-snaren

Om iets aan de gebruiker te communiceren (of om te zien wat er binnen gebeurt ons programma) gebruiken we de ingebouwde print(...) functie. Om te componeren tekst uit meerdere waarden, is de moderne en geprefereerde syntaxis de f-snaar.

print(...)

Python
print("Ciao, mondo!")           # Ciao, mondo!
print("a", "b", "c")            # a b c       (separati da spazio)
print(2 + 2)                    # 4
print("riga 1", "riga 2")       # riga 1 riga 2

print kan zoveel argumenten bevatten als je wilt: het voegt ze samen met een spatie (door standaard) en voegt aan het einde een nieuwe regel toe. Je kunt beide wijzigen met de sep en end parameters:

Python
print("a", "b", "c", sep="-")   # a-b-c
print("senza newline", end="")  # niente \n dopo

f-snaar: moderne interpolatie

Een f-string is een string voorafgegaan door f: binnen de accolades {...} je kunt elke Python-expressie invoegen, die wordt geëvalueerd en ingevoegd in de resultaat:

Python
nome = "Ada"
anni = 30
print(f"Mi chiamo {nome} e ho {anni} anni.")
# Mi chiamo Ada e ho 30 anni.

Binnen de accolades kun je oproepen, bewerkingen en toegang tot objecten plaatsen – dat is zo Python-code in alle opzichten:

Python
prezzo = 12.5
quantita = 3
print(f"Totale: {prezzo * quantita:.2f} €")
# Totale: 37.50 €

De :.2f na de dubbele punt is een formaatspecificatie: in dit geval "twee decimalen cijfers, vast punt". De handigste formaatspecificaties:

  • :.Nf — N decimale cijfers (f"{pi:.4f}" → 3.1416).
  • :N / :>N / :<N / :^N — breedte N, uitlijning rechts/links/midden.
  • :_ of :, — scheidingsteken voor duizendtallen (f"{1000000:,}" → 1,000,000).

Alternatieve syntaxis (ter referentie)

Vóór f-strings (geïntroduceerd in Python 3.6) werden daarvoor twee vormen gebruikt je zult nog steeds tegenkomen in oudere code:

Python
# stile .format() — verboso ma esplicito
"{} ha {} anni".format("Ada", 30)

# stile %-formatting — molto vecchio
"%s ha %d anni" % ("Ada", 30)

Voor nieuwe code gebruik altijd f-strings: korter, beter leesbaar, sneller.

Geavanceerde opmaak met f-strings

F-strings ondersteunen rijke opmaakspecificaties direct binnen de accolades. Als u bijvoorbeeld een decimaal getal met precies twee decimalen wilt opmaken, kunt u schrijven:

Python
price = 19.99
print(f"Price: {price:.2f} $")

De specificatie :.2f geeft aan dat we de float met exact 2 decimalen willen weergeven.

Probeer het zelf

Oefening#python.m1.l4.e1
Pogingen: 0Laden…

Gegeven `naam = 'Ada'` en `leeftijd = 30`, bouwt u de string 'Ada ha 30 anni' op met een f-string en wijst u deze toe aan `line`. Evalueer 'lijn'.

Editor laden…
Toon hint

Syntaxis: f"iets {variabel} iets anders"

Oplossing beschikbaar na 3 pogingen

Oefening beoordelen

Oefening#python.m1.l4.e2
Pogingen: 0Laden…

Druk met print() de string 'pi greco vale 3.14' af, beginnend met `pi = 3.14159`, met behulp van een f-string met een formaatspecificatie van 2 decimalen.

Editor laden…
Toon hint

De formaatspecificatie komt na de dubbele punt tussen de accolades: {pi:.2f}.

Oplossing beschikbaar na 3 pogingen

Extra uitdaging

Oefening#python.m1.l4.e3
Pogingen: 0Laden…

Given a variable `price` set to `19.99`, use an f-string to construct the string `'Price: 19.99 €'` and store it in `receipt_line`. Finally, evaluate the variable.

Editor laden…
Toon hint

Gebruik f"Prijs: {prijs} €" en wijs het resultaat toe aan ontvangst_regel.

Oplossing beschikbaar na 3 pogingen