Python:
Interpolering av en streng
Hvordan:
I Python 3.6 og nyere, kan du interpolere strenger ved å bruke f-strenger. Slik gjør du:
name = 'Alice'
age = 30
greeting = f"Hei, {name}. Du er {age} år gammel."
print(greeting)
Output:
Hei, Alice. Du er 30 år gammel.
Du kan også bruke uttrykk inne i krøllparentesene:
a = 5
b = 10
info = f"Fem pluss ti er {a + b}, ikke {2 * (a + b)}."
print(info)
Output:
Fem pluss ti er 15, ikke 30.
Dypdykk
Før Python 3.6, var .format()
metoden å bruke for strenginterpolasjon:
name = 'Bob'
age = 25
greeting = "Hei, {}. Du er {} år gammel.".format(name, age)
print(greeting)
Gammeldags Python (versjoner < 2.6) brukte %
-operatoren for interpolasjon, som er mindre intuitiv og kan bli rotete med flere variabler:
name = 'Carol'
age = 35
greeting = "Hei, %s. Du er %d år gammel." % (name, age)
print(greeting)
Bortsett fra renere syntaks, er f-strenger raskere fordi de blir evaluert i kjøretid og deretter konvertert direkte til en effektiv strengformatoperasjon. .format()
-metoden og %
-operatoren involverer flere trinn og er tregere.
Se også
- PEP 498 – Literal String Interpolation for offisiell dokumentasjon om f-strenger.
- Python f-strenger av Real Python for en veiledning om bruk av f-strenger.
- .format() Metoden i Python-dokumentasjonen for å forstå den eldre
.format()
-metoden for strengformatering.