Interpolacja łańcucha znaków

Python:
Interpolacja łańcucha znaków

Jak to zrobić:

W Pythonie 3.6 i nowszych można interpolować ciągi znaków używając f-stringów. Oto jak:

name = 'Alice'
age = 30
greeting = f"Witaj, {name}. Masz {age} lat."

print(greeting)

Wynik:

Witaj, Alice. Masz 30 lat.

Możesz również użyć wyrażeń wewnątrz nawiasów klamrowych:

a = 5
b = 10
info = f"Pięć plus dziesięć to {a + b}, a nie {2 * (a + b)}."

print(info)

Wynik:

Pięć plus dziesięć to 15, a nie 30.

Dogłębna analiza

Przed Pythonem 3.6, do interpolacji ciągów znaków używano metody .format():

name = 'Bob'
age = 25
greeting = "Witaj, {}. Masz {} lat.".format(name, age)

print(greeting)

Stary Python (wersje < 2.6) używał operatora % do interpolacji, co jest mniej intuicyjne i może stać się bałaganem przy wielu zmiennych:

name = 'Carol'
age = 35
greeting = "Witaj, %s. Masz %d lat." % (name, age)

print(greeting)

Oprócz czystszej składni, f-stringi są szybsze, ponieważ są oceniane w czasie wykonania, a następnie bezpośrednio przekształcane w efektywną operację formatowania ciągu znaków. Metoda .format() i operator % wiążą się z większą liczbą kroków i są wolniejsze.

Zobacz także