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.
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.pythonIn 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.
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 15pythonIn 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 enf-strings kunnen variabelen en expressies 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.txtpythonIn 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.
value = 3.14159265359
formatted_value = f"Rounded value = {value:.3f}"
print(formatted_value) # Output: Rounded value = 3.142pythonIn 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.
name = "Alice"
formatted_name = f"Hello, {name:>10}"
print(formatted_name) # Output: Hello, AlicepythonAangezien 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.
number = 42
formatted_number = f"Number: {number:06}"
print(formatted_number) # Output: Number: 000042pythonIn 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:
word = "Python"
formatted_word = f"Word: {word:_<10}"
print(formatted_word) # Output: Word: Python____python