Ciągi F Pythona: zaawansowana interpolacja ciągów
Dowiedz się, jak formatować ciągi znaków w Pythonie za pomocą ciągów F. Ocena wyrażeń głównych, precyzyjne formatowanie zmiennoprzecinkowe, drukowanie daty i godziny oraz składnia samodokumentująca.
Przegląd
Formatowanie ciągów to zadanie, które programiści wykonują codziennie. Historycznie rzecz biorąc, formatowanie w Pythonie opierało się na formatowaniu `%` w stylu C lub metodzie `.format()`. Chociaż te starsze style składni są funkcjonalne, często prowadzą do szczegółowego i trudnego do odczytania kodu.Python 3.6 wprowadził sformatowane literały ciągu, powszechnie znane jako ciągi F. Ciągi F zapewniają zwięzłą, czytelną i wysoce zoptymalizowaną składnię do wstawiania zmiennych i wyrażeń bezpośrednio do literałów łańcuchowych.
Aby utworzyć ciąg F, należy poprzedzić literał ciągu znakiem `f` lub `F` (np. `f"Hello {name}"`). Każda zmienna lub wyrażenie Pythona umieszczone w nawiasach klamrowych „{...}” jest oceniane w czasie wykonywania i automatycznie konwertowane na ciąg znaków. Ciągi F służą nie tylko do zmiennych; możesz wywoływać funkcje, wykonywać obliczenia matematyczne, a nawet uzyskiwać dostęp do wartości słownikowych zawartych w nawiasach klamrowych, eliminując potrzebę stosowania zmiennych tymczasowych.
Struny F charakteryzują się także bogatym językiem formatowania. Dodając dwukropek „:” wewnątrz nawiasów klamrowych, możesz określić reguły formatowania. Na przykład `{value:.2f}` zaokrągla liczbę zmiennoprzecinkową do dwóch miejsc po przecinku, `{num:03d}` uzupełnia liczbę całkowitą zerami wiodącymi, a `{data:%Y-%m-%d}` formatuje obiekt typu datetime. W wersjiPython 3.8+ w F-strings wprowadzono składnię debugowania `{variable=}`, która automatycznie drukuje zarówno nazwę zmiennej, jak i jej wartość, dzięki czemu debugowanie jest szybkie i bezproblemowe.
Dane wyjściowe kodu i wykonania
Demonstracja formatowania zmiennoprzecinkowego, oceny wyrażeń i samodokumentującego debugowania znaku równości.
name = "Charlie"
price = 19.995
quantity = 3
# Basic interpolation and math evaluation
receipt = f"Customer: {name} | Total: ${price * quantity:.2f}"
print(receipt)
# Padding and alignment
number = 42
padded = f"ID: {number:05d}"
print(padded)
# Self-documenting debugging syntax (Python 3.8+)
value = 100
print(f"Debug output: {value=}")Customer: Charlie | Total: $59.99
ID: 00042
Debug output: value=100Wdrażanie krok po kroku
- Upiększanie wyników numerycznych w raportach i dashboardach
- Konstruowanie dynamicznych zapytań SQL lub ładunków żądań API
- Drukowanie instrukcji szybkiego debugowania podczas testów lokalnych
Często zadawane pytania
Czy ciągi F są szybsze niż inne metody formatowania ciągów?
Tak, ciągi F są szybsze niż formatowanie % i .format(), ponieważ są oceniane w czasie wykonywania jako zoptymalizowany kod bajtowy, a nie analizowane podczas wykonywania.
Jak wydrukować dosłowne nawiasy klamrowe w ciągu F?
Możesz uniknąć dosłownych nawiasów klamrowych, podwajając je, np. f"{{Hello}}" wyświetli dosłowny tekst „{Hello}”.
Powiązane tematy
Manipulacja ciągami głównymi w Pythonie. Poznaj metody ciągów, wycinanie, łączenie i techniki formatowania dzięki przejrzystym, wykonywalnym przykładom kodu.
Wyjaśnienie zmiennych i typów danych w PythonieZrozumienie zmiennych Pythona i podstawowych typów danych (łańcuchy, liczby całkowite, zmiennoprzecinkowe, wartości logiczne). Kompletny przewodnik dla początkujących dotyczący przydzielania pamięci w Pythonie.
Python DatetimeDowiedz się, jak obsługiwać daty, godziny, strefy czasowe i obliczenia w Pythonie. Opanuj formatowanie, analizowanie i arytmetykę przy użyciu funkcji datetime i timedelta.
Polecane zasoby Pythona
Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.
Jak odczytać plik w Pythonie
Naucz się czytać pliki w Pythonie. Opanuj obsługę instrukcji open, readline, readlines i bezpiecznej obsługi wyjątków plików.
Ściągawka dotycząca operacji na plikach w Pythonie
Skrócona instrukcja czytania i zapisywania plików w Pythonie. Opanuj tryby otwarte, menedżery kontekstu i czytanie linia po linii.
Python kontra JavaScript: który język programowania jest najlepszy?
Kompleksowe porównanie Pythona i JavaScript. Poznaj różnice w składni, wydajność, przypadki użycia (backend vs frontend) i przykłady kodowania.