Formatowanie łańcuch znaków
f-strings to główne nowoczesne narzędzie do wstawiania wartości do tekstu. Przyjrzyjmy się im szczegółowo: od prostej podstawienia po wyrównanie kolumn.
Już korzystaliśmy z f-łańcuch znaków począwszy od rozdziału 4 — teraz dokładnie przeanalizujemy formatowanie tekstu.
f-łańcuch znaków jest prostą podstawieniem
Cudzysłowem otwierającym poprzedza się litera f, ale w środku
Aparaty kręcone {} — nazwa zmiennej. Python samo wstawi
tam wartość:
name = „Ada”
print(f"Cześć, {name}!")
# Cześć, Ada!
Wewnątrz {} można pisać wyrażenia
To nie jest tylko podstawienie imienia – KAŻDE Python- wyrażenie działa w nawiasach: Arytmetyka, metoda wywoływania, cokolwiek:
age = 5
print(f"Za rok będzie {age + 1}.") # Za rok będzie ich 6.
name = "cartesian"
print(f"Wielka litera: {name.upper()}") # Wielkimi literami: CARTESIAN
Formatowanie liczb: precyzja i separatory
Po wartości można dodać dwukropek i specyfikacja formatu — jak Aby wyświetlić numer:
pi = 3.14159265
print(f"Pi zaokrąglone: {pi:.2f}") # Pi zaokrąglone: 3,14 – 2 miejsca po przecinku
print(f"{1234567:,}") #1,234,567 – Separator Tysięcy
print(f"{0.4567:.1%}") #45,7% – udział procentowy
.2f brzmi tak: f jest liczbą z
zmiennoprzecinkowe, .2 — zaokrąglić do 2 miejsc po przecinku.
Wyrównanie i szerokość
Liczba po dwukropku (bez kropki) określa minimalną szerokość pola — wygodne do wyrównywania tekstu w kolumnie:
for name, score in [(„Ada”, 98), („Alan”, 87), („Grace”, 100)]:
print(f"{name:<8} {score:>5}")
# Ada 98
#Alan 87
# Grace 100
| Specyfikator | Znaczenie |
|---|---|
{value:<10} | po lewej szerokość pola wynosi 10 |
{value:>10} | po prawej krawędzi, szerokość pola 10 |
{value:^10} | na środku, szerokość 10 kwadratów |
{value:.2f} | liczba ułamkowa, 2 miejsca po przecinku |
{value:,} | separator przecinków tysiąca przecinków |
= — Python wyświetli zarówno wyrażenie, jak i jego wartość. Doskonałe do szybkiego sprawdzenia: print(f"{{age=}}") wycofa się age=28 - bez ręcznego wpisywania „age =”name = "Cartesian"
age = 5
# operator % — najstarszy sposób
print(„Witaj %s! Masz %d lat.” % (name, age))
#. format() jest nowszy, ale wciąż rozwlekły
print(„Cześć, {}! Masz {} lat.”.format(name, age))
name = "Cartesian"
age = 5
#f-łańcuch znaków wartości znajdują się dokładnie wewnątrz {}
print(f"Cześć, {name}! Ty {age} lat.")
# działają także wyrażenia, nie tylko zmienne:
print(f"Za rok będzie {age + 1}.")
% , najstarsza metoda odziedziczona z języka C, nadal znajduje się w starym kodzie. .format() jest pośrednim krokiem między nimi. f-linie są najlepsze do czytania: wartość jest widoczna dokładnie tam, gdzie zostanie podstawiona, i możesz zapisać dowolne wyrażenia, nie tylko nazwy zmiennych.Wyjść linijka "Łącznie: 1234,5 → 1 234,50 ₽" (używając: ,,2f) dla wartości 1234,5), a osobno - "Zniżka: 15,0%" dla udziału 0,15 (stosując :,1%).