# Wat zijn Python f-strings?

Met Python f-strings kunt u **complexe uitdrukkingen en variabelen** rechtstreeks in een string invoegen, zonder dat u extra conversies of opmaak hoeft uit te voeren.

## Wat kunnen Python f-strings doen?

Python f-strings zijn een Python-stringformaat dat werd geïntroduceerd met Python 3.6. Ze staan ook bekend als **geformatteerde string-literals**. Binnen een f-string kun je berekeningen evalueren met behulp van accolades. F-strings maken een compactere notatie mogelijk dan andere stringformaten zoals `str.format()` en aaneenschakeling met `+`. Dit resulteert uiteindelijk in duidelijkere en beknoptere code.

F-strings zijn zeer flexibel en stellen u in staat om verschillende gegevenstypen zoals **gehele getallen, drijvende-kommagetallen, lijsten,** uitdrukkingen en functies in te voegen zonder ze te converteren 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 basisstructuur van een Python f-string bestaat uit het **voorvoegsel** `f` of `F`, gevolgd door een string tussen aanhalingstekens (“ of ’). Binnen de string kunt u accolades `{}` gebruiken om variabelen en uitdrukkingen in te sluiten.

```python
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.
```

In dit voorbeeld plaatsen we de variabelen `name` en `age` tussen accolades in de f-string`{name}` en `{age}`.

## Hoe worden Python f-strings gebruikt?

F-strings kunnen op verschillende manieren worden gebruikt.

### Berekeningen uitvoeren binnen een tekenreeks

Python f-strings zijn vooral handig als je **rekenkundige berekeningen** binnen een string wilt uitvoeren. Hiermee kun je een complexe uitdrukking in één regel code definiëren.

```python
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
```

In dit voorbeeld worden `num1` en `num2` toegevoegd binnen de f-string. Het resultaat wordt weergegeven in de uiteindelijke string-uitvoer.

### Python f-strings en raw strings

De combinatie 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 functionaliteit van raw strings combineren met de flexibiliteit van f-strings. R-strings **interpreteren escape-sequenties letterlijk en**f-strings kunnen variabelen en expressies direct in een string insluiten.

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

In de bovenstaande code hebben we een rf-string gebruikt om een pad te definiëren. We hebben `{name}` in de rf-string gebruikt om de variabele `name` direct in te voegen. Ondertussen zorgt de `r` voor de string ervoor dat de **backslash** `\` wordt behandeld als een letterlijk teken en niet als onderdeel van een escape-reeks.

### Nauwkeurigheid van drijvende getallen

U kunt speciale **opmaakinstructies** gebruiken om het aantal decimalen in een drijvende-kommagetal in een f-string op te geven.

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

In de bovenstaande code geeft de opmaakinstructie `:.3f` aan dat de variabele `value` moet worden afgerond op drie decimalen en moet worden ingevoegd in de opgemaakte tekenreeks.

### Breedte en uitlijning

In Python f-strings kunt u met specificaties voor breedte en uitlijning bepalen hoe **waarden** binnen een veld **worden weergegeven**. Dit is handig om tekst en getallen op een specifieke 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.

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

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ïnvloedt de uitlijning van getallen in een veld. Dit is handig als u getallen in een vast formaat wilt weergeven, bijvoorbeeld wanneer u **tijden of numerieke waarden weergeeft**.

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

In dit voorbeeld geeft `:06` aan dat het getal voor `number` in een veld van zes cijfers moet worden ingevoerd en dat ontbrekende cijfers worden aangevuld met nullen voor het getal.

Je kunt ook andere tekens dan nullen gebruiken om een tekenreeks te vullen:

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


This is a markdown version of: [https://www.ionos.com/nl-be/digitalguide/websites/webontwikkeling/python-f-strings/](https://www.ionos.com/nl-be/digitalguide/websites/webontwikkeling/python-f-strings/) for AI/LLM consumption.