Interpolering av en sträng

Python:
Interpolering av en sträng

Hur:

I Python 3.6 och senare kan du interpolera strängar genom att använda f-strängar. Så här gör du:

name = 'Alice'
age = 30
greeting = f"Hej, {name}. Du är {age} år gammal."

print(greeting)

Utskrift:

Hej, Alice. Du är 30 år gammal.

Du kan också använda uttryck inuti klammerparenteserna:

a = 5
b = 10
info = f"Fem plus tio är {a + b}, inte {2 * (a + b)}."

print(info)

Utskrift:

Fem plus tio är 15, inte 30.

Djupdykning

Innan Python 3.6 var .format() vägen att gå för att interpolera strängar:

name = 'Bob'
age = 25
greeting = "Hej, {}. Du är {} år gammal.".format(name, age)

print(greeting)

Gammal skolans Python (versioner < 2.6) använde %-operatorn för interpolation, vilket är mindre intuitivt och kan bli rörigt med flera variabler:

name = 'Carol'
age = 35
greeting = "Hej, %s. Du är %d år gammal." % (name, age)

print(greeting)

Förutom renare syntax, är f-strängar snabbare eftersom de utvärderas vid körning och sedan omvandlas direkt till en effektiv strängformateringsoperation. .format() och %-operatorn involverar fler steg och är långsammare.

Se även