Rozdział 8 · Zabawa literami i słowami

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ść:

f_stroka_prostaya.py
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:

f_stroka_vyrazheniya.py
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:

format_specifikatory.py
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:

vyravnivanie.py
for name, score in [(„Ada”, 98), („Alan”, 87), („Grace”, 100)]:
    print(f"{name:<8} {score:>5}")
# Ada 98
#Alan 87
# Grace     100
SpecyfikatorZnaczenie
{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
Technika debugowania: f„{{value=}}”
Jeśli umieścisz znak wewnątrz linii f- po wyrażeniu = — 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 =”
Formatowanie łańcuch znaków: % → . format() → Struny f-
Podejście klasyczne (% i . format())
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))
Modern Python 3.14 (struny f-strings)
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}.")
Co używać dzisiaj: struny f-struny – pojawiły się w Python 3.6 i od tego czasu są standardem. Operator % , 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.
★★ Zadanie samodzielne
Zaznacz „na stole”

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%).

Praktyka: %, . format() i struny f-struny
interaktywny laptop bezpośrednio w przeglądarce – Python 3.14 przez Pyodide, bez instalacji
Otwórz praktykę →