Med Python f-strenger kan du sette inn komplekse uttrykk og variabler direkte i en streng, uten å måtte utføre ekstra konverteringer eller formatering.

Hva kan Python f-strenger gjøre?

Python f-strenger er et Python-strengformat som ble introdusert med Python 3.6. De er også kjent som formaterte strenglitteraler. Innenfor en f-streng kan du evaluere beregninger ved hjelp av krøllparenteser. F-strenger tillater mer kompakt notasjon enn andre strengformater som str.format() og sammenkobling med +. Dette gir deg til slutt en klarere og mer konsis kode.

F-strenger er svært fleksible og lar deg sette inn ulike datatyper som heltall, desimaltall, lister, uttrykk og funksjoner uten å konvertere dem eller legge til spesiell formatering. Python f-strenger er ofte raskere enn andre strengformateringsmetoder i Python.

Hva er syntaksen til Python f-strenger?

Den grunnleggende strukturen til en Python f-streng består av prefikset f eller F, etterfulgt av en streng i anførselstegn (“ eller ’). Innenfor strengen kan du bruke krøllparenteser {} til å legge inn variabler og uttrykk.

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

I dette eksemplet setter vi variablene name og age i krøllparenteser i f-strengen{name} og {age}.

Hvordan brukes Python f-strenger?

F-strenger kan brukes på mange forskjellige måter.

Utføre beregninger innenfor en streng

Python f-strenger er spesielt praktiske hvis du vil utføre aritmetiske beregninger innenfor en streng. De lar deg definere et komplekst uttrykk i en enkelt kodelinje.

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

I dette eksemplet blir num1 og num2 lagt til i f-strengen. Resultatet vises i den endelige strengutdataen.

Python f-strenger og rå strenger

Kombinasjonen av r for rå strenger og f for f-strenger skaper en spesiell type streng i Python, kjent som en rf-streng. Med rf-strenger kan du kombinere funksjonaliteten til rå strenger med fleksibiliteten til f-strenger. R-strenger tolker escape-sekvenser bokstavelig, og f-strenger kan direkte innebygge variabler og uttrykk i en streng.

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

I koden ovenfor brukte vi en rf-streng for å definere en bane. Vi brukte {name} i rf-strengen for å sette inn variabelen name direkte. Samtidig sikrer r før strengen at tilbakeslag \ behandles som et bokstavelig tegn og ikke som en del av en escape-sekvens.

Nøyaktighet av flytende tall

Du kan bruke spesielle formateringsuttrykk for å angi antall desimaler i et flytende tall i en f-streng.

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

I koden ovenfor angir formateringsuttrykket :.3f at variabelen value skal avrundes til tre desimaler og settes inn i den formaterte strengen.

Bredde og justering

I Python f-strenger kan du bruke bredde- og justeringsspesifikasjoner til å kontrollere hvordan verdier vises i et felt. Dette er nyttig for å plassere tekst og tall på et bestemt sted og justere dem til venstre, høyre eller midt.

La oss si at vi har navnet __Alice__ og ønsker å høyreinnrette det i et felt som er 10 tegn bredt.

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

Siden verdien er mindre enn 10 tegn lang, vil {name:>10} justere den til høyre.

Fylling med nuller eller andre tegn

Fylling med nuller eller andre tegn påvirker justeringen av tall i et felt. Dette er nyttig hvis du vil ha tall i et fast format, for eksempel når du viser tider eller numeriske verdier.

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

I dette eksemplet indikerer :06 at tallet for number skal skrives inn i et sekssifret felt, og at eventuelle manglende sifre skal fylles ut med ledende nuller.

Du kan også bruke andre tegn enn nuller til å fylle en streng:

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