f-strings in python tutorial

Met f-strings kun je op gemakkelijke wijze een string voorzien van waarden uit variabelen. Denk hiervoor bijvoorbeeld aan een boodschap die je tijdens het uitvoeren van je code print, met hierin de waarden van enkele variabelen. Daarbij kun je instellen hoe de variabelen getoond gaan worden. Bijvoorbeeld het aantal decimalen van een kommagetal.

In dit blog behandelen we de volgende onderwerpen:

  1. F-string syntax
  2. Waarom zou je F-strings gebruiken?
  3. Getallen & f-strings
  4. Percentages in f-strings
  5. Datums in f-strings
  6. Padding en uitlijning binnen f-strings
  7. Multi-lines f-strings

1. F-string syntax

De ”f” in f-string staat voor format/formatting: opmaken.

We bekijken het volgende voorbeeld:

Hierin doen we het volgende:

  • Maken variabele “length” aan: een float met een bepaalde lengte.
  • Maken variabele “message” aan: met een f-string geven we een boodschap op, en gebruiken we de waarde van variabele “length”.
  • Met de print() functie printen we de waarde van variabele “message”.

We zien hier dat de syntax van een f-string als volgt is:

  • Je start met een f.
  • Met enkelvoudige of dubbele quotes geef je een string op.
  • Daar waar de waarde van een variabele moet komen zet je deze tussen accolades: {<variabele>}.

Je kunt daarbij zoveel variabelen in de f-string toevoegen als nodig is. Zie onderstaand voorbeeld met 3 variabelen in de f-string:

Met vertrouwen Python inzetten voor data analyses? Schrijf je in voor een van onze trainingen.


2. Waarom zou je F-strings gebruiken?

Je gebruikt een f-string om een string op te maken met waarden van variabelen. De f-string functionaliteit is beschikbaar sinds Python versie 3.6 (zie ook Python 2 vs Python 3). Hiervoor kon je voor hetzelfde doel gebruik maken van bijvoorbeeld de .format() methode en het % teken.

Het gebruik van de f-string is fijner dan deze andere opties. Het is beter leesbaar en het is sneller.

3. Getallen gebruiken in f-strings

We hebben al gezien dat we met een f-string een getal in een string kunnen voegen. Zie nogmaals onderstaand voorbeeld om een boodschap met een lengte te verkrijgen:

Nu kan het zo zijn dat je het aantal decimalen wilt limiteren. Dit kan gemakkelijk.

Hiervoor voegen we achter de naam van de variabele het volgende toe: :.<aantal decimalen>f

Zie onderstaand voorbeeld waarbij 2 decimalen getoond worden:

Een bijkomend voordeel is dat er ook direct afgerond wordt.

Bij grote getallen kun je voor leesbaarheid een duizendscheidingsteken toevoegen. Dit is te zien in het volgende voorbeeld:

Hierbij zet je het duizendscheidingsteken na de dubbele punt.

 

4. Percentages in f-strings

Een specifiek voorbeeld van een getal is een percentage. Hier kan een f-string ook goed mee overweg. Dit doe je op dezelfde wijze als bij getallen, alleen nu gebruik je een %-teken in plaats van de f. Zie onderstaand voorbeeld:

In deze code doen we het volgende:

  • Maken variabele “fraction” aan.
  • Maken variabele “message” aan: met een f-string geven we een boodschap op, en gebruiken we de waarde van variabele “fraction”. Hier gebruiken we het %-teken voor een percentage. En met .0 specificeren we dat geen decimalen getoond zullen worden.
  • We printen de boodschap.

5. Datums in f-strings

Net als getallen kunnen we ook datums toevoegen aan een string met een f-string. Zie onderstaand voorbeeld. Hierin gebruiken we package datetime om de huidige datum en tijd te verkrijgen. We gebruiken formatting-opties om e.e.a. overzichtelijk terug te laten komen.

6. Padding en uitlijning binnen f-strings

Wanneer je herhaaldelijk vergelijkbare boodschappen maakt, kan het handig zijn om gebruik te maken van padding en/of uitlijning.

Dit zie je aan de hand van onderstaand voorbeeld:

Hierbij printen we met een for-loop een boodschap voor elk van de gewichten uit de list. Daarbij zie je dat afhankelijk van het aantal cijfers de lengte van de boodschap varieert. Soms is dit niet wenselijk. Bijvoorbeeld als hier hierdoor minder goed leesbaar wordt zoals in onderstaand voorbeeld.

Je kunt hiervoor gebruik maken van zero-padding. Daarbij voeg je voor ieder getal een bepaald aantal nullen toe. Dit zodanig dat de totale lengte inclusief de nullen overal gelijk is. Zie onderstaand voorbeeld. De 5 geeft hierin aan dat de totale lengte gelijk is aan 5 tekens. Je kunt de 0 ook weglaten, dan wordt er lege ruimte gebruikt:

Let hierbij op het volgende:

  • Gebruik ronde haken.
  • Gebruik voor iedere regel een f-string.
  • Gebruik aan het einde van een regel geen komma.

Je ziet dat je zo gemakkelijk een lange boodschap in meerdere regels kunt definiëren. Dit maakt je code beter leesbaar.

8. Tot slot

We hebben gezien dat een f-string gebruik kan worden om een string op te maken met waarden uit variabelen. Dit is handig om resultaten uit je code te tonen, of voor bijvoorbeeld logging van je code.

Er zijn voor verschillende soorten data verschillende opties. Denk aan getallen, percentages en datums. Je kunt waarden van variabelen uitlijnen en padding toevoegen voor een betere leesbaarheid. Wanneer je boodschappen langer worden kun je ze in meerdere regels opsplitsen voor een betere leesbaarheid.

Wil je nog veel meer leren over met mogelijkheden met Python voor Data Science? Schrijf je dan in voor onze Python cursus voor data science, onze machine learning training, onze data science opleiding of onze data science bootcamp en leer met vertrouwen te programmeren en analyseren in Python. Nadat je een van onze trainingen hebt gevolgd kun je zelfstandig verder aan de slag. Je kunt ook altijd even contact opnemen als je een vraag hebt.

Download één van onze opleidingsbrochures voor meer informatie

 

by: