Met Python f-strings kunt u complexe uit­druk­kin­gen en va­ri­a­be­len recht­streeks in een string invoegen, zonder dat u extra con­ver­sies of opmaak hoeft uit te voeren.

Wat kunnen Python f-strings doen?

Python f-strings zijn een Python-string­for­maat dat werd ge­ïn­tro­du­ceerd met Python 3.6. Ze staan ook bekend als ge­for­mat­teer­de string-literals. Binnen een f-string kun je be­re­ke­nin­gen evalueren met behulp van accolades. F-strings maken een com­pac­te­re notatie mogelijk dan andere string­for­ma­ten zoals str.format() en aan­een­scha­ke­ling met +. Dit re­sul­teert uit­ein­de­lijk in dui­de­lij­ke­re en be­knop­te­re code.

F-strings zijn zeer flexibel en stellen u in staat om ver­schil­len­de ge­ge­vens­ty­pen zoals gehele getallen, drijvende-kom­ma­ge­tal­len, lijsten, uit­druk­kin­gen en functies in te voegen zonder ze te con­ver­te­ren of speciale opmaak toe te voegen. Python f-strings zijn doorgaans sneller dan andere methoden voor het opmaken van strings in Python.

Wat is de syntaxis van Python f-strings?

De ba­sis­struc­tuur van een Python f-string bestaat uit het voor­voeg­sel f of F, gevolgd door een string tussen aan­ha­lings­te­kens (“ of ’). Binnen de string kunt u accolades {} gebruiken om va­ri­a­be­len en uit­druk­kin­gen in te sluiten.

name = "Peter"
age = 25
formatted_string = f"My name is {name} and I am {age} years old."
print(formatted_string) # Output: My name is Peter and I am 25 years old.
python

In dit voorbeeld plaatsen we de va­ri­a­be­len name en age tussen accolades in de f-string{name} en {age}.

Hoe worden Python f-strings gebruikt?

F-strings kunnen op ver­schil­len­de manieren worden gebruikt.

Be­re­ke­nin­gen uitvoeren binnen een te­ken­reeks

Python f-strings zijn vooral handig als je re­ken­kun­di­ge be­re­ke­nin­gen binnen een string wilt uitvoeren. Hiermee kun je een complexe uit­druk­king in één regel code de­fi­ni­ë­ren.

num1 = 10
num2 = 5
result = f"The sum of {num1} and {num2} is {num1 + num2}"
print(result) # Output: The sum of 10 and 5 is 15
python

In dit voorbeeld worden num1 en num2 toe­ge­voegd binnen de f-string. Het resultaat wordt weer­ge­ge­ven in de uit­ein­de­lij­ke string-uitvoer.

Python f-strings en raw strings

De com­bi­na­tie van r voor raw strings en f voor f-strings creëert een speciaal soort string in Python, bekend als een rf-string. Met rf-strings kunt u de func­ti­o­na­li­teit van raw strings com­bi­ne­ren met de flexi­bi­li­teit van f-strings. R-strings in­ter­pre­te­ren escape-se­quen­ties let­ter­lijk enf-strings kunnen va­ri­a­be­len en ex­pres­sies direct in een string insluiten.

name = "User"
path = rf'C:\Users\Username\Documents\{name}\file.txt'
print(path) # Output: C:\Users\Username\Documents\User\file.txt
python

In de bo­ven­staan­de code hebben we een rf-string gebruikt om een pad te de­fi­ni­ë­ren. We hebben {name} in de rf-string gebruikt om de variabele name direct in te voegen. On­der­tus­sen zorgt de r voor de string ervoor dat de backslash \ wordt behandeld als een let­ter­lijk teken en niet als onderdeel van een escape-reeks.

Nauw­keu­rig­heid van drijvende getallen

U kunt speciale op­maak­in­struc­ties gebruiken om het aantal decimalen in een drijvende-kom­ma­ge­tal in een f-string op te geven.

value = 3.14159265359
formatted_value = f"Rounded value = {value:.3f}"
print(formatted_value) # Output: Rounded value = 3.142
python

In de bo­ven­staan­de code geeft de op­maak­in­struc­tie :.3f aan dat de variabele value moet worden afgerond op drie decimalen en moet worden ingevoegd in de op­ge­maak­te te­ken­reeks.

Breedte en uit­lij­ning

In Python f-strings kunt u met spe­ci­fi­ca­ties voor breedte en uit­lij­ning bepalen hoe waarden binnen een veld worden weer­ge­ge­ven. Dit is handig om tekst en getallen op een spe­ci­fie­ke plaats te plaatsen en ze links, rechts of in het midden uit te lijnen.

Stel dat we de naam __Alice__ hebben en deze rechts willen uitlijnen in een veld met een breedte van 10 tekens.

name = "Alice"
formatted_name = f"Hello, {name:>10}"
print(formatted_name) # Output: Hello,      Alice
python

Aangezien de waarde minder dan 10 tekens lang is, zal {name:>10} deze rechts uitlijnen.

Vullen met nullen of andere tekens

Het invullen met nullen of andere tekens be­ïn­vloedt de uit­lij­ning van getallen in een veld. Dit is handig als u getallen in een vast formaat wilt weergeven, bij­voor­beeld wanneer u tijden of numerieke waarden weergeeft.

number = 42
formatted_number = f"Number: {number:06}"
print(formatted_number) # Output: Number: 000042
python

In dit voorbeeld geeft :06 aan dat het getal voor number in een veld van zes cijfers moet worden ingevoerd en dat ont­bre­ken­de cijfers worden aangevuld met nullen voor het getal.

Je kunt ook andere tekens dan nullen gebruiken om een te­ken­reeks te vullen:

word = "Python"
formatted_word = f"Word: {word:_<10}"
print(formatted_word) # Output: Word: Python____
python
Ga naar hoofdmenu