Hva er Python f-strenger?
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.pythonI 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 15pythonI 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.txtpythonI 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.142pythonI 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, AlicepythonSiden 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: 000042pythonI 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