Interpolacja ciągów w Pythonie
Interpolacja ciągów to proces zastępowania wartości zmiennych symbolami zastępczymi w ciągu znaków. Rozważmy przykład, aby lepiej to zrozumieć, załóżmy, że chcesz zmienić wartość ciągu za każdym razem, gdy drukujesz ciąg, tak jak chcesz wydrukować witaj, witaj maniaków dla maniaków, gdzie jest symbolem zastępczym nazwy użytkownika. Zamiast tworzyć za każdym razem nowy ciąg, interpolacja ciągu Pyton może pomóc w dynamicznej zmianie symbolu zastępczego z nazwą użytkownika.
% – Formatowanie
% – Formatowanie to funkcja udostępniana przez Pythona, do której można uzyskać dostęp za pomocą operatora %. Jest to podobne do funkcji stylu printf w C.
Przykład: Formatowanie ciągu za pomocą operatora %
Python3
n1> => 'Hello'> n2> => 'techcodeview.com'> # for single substitution> print> (> 'Welcome to % s'> %> n2)> # for single and multiple substitutions()> # mandatory> print> (> '% s ! This is % s.'> %> (n1, n2))> |
Wyjście
Welcome to techcodeview.com Hello ! This is techcodeview.com.
Powiedzmy, że to tylko skomplikowana wersja. Mimo to możemy go użyć, jeśli mamy wiele zmiennych do podstawienia w ciągu znaków, ponieważ nie zawsze chcemy używać (ciąg + zmienna + ciąg + zmienna + zmienna + ciąg znaków) tej reprezentacji. W tym celu możemy zastosować formatowanie %.
Notatka: Aby dowiedzieć się więcej na temat formatowania %, zobacz Formatowanie ciągu w Pythonie przy użyciu%
Str.format()
str.format() działa poprzez umieszczenie w ciągu jednego lub większej liczby pól zastępczych i symboli zastępczych zdefiniowanych przez parę nawiasów klamrowych { }. Wartość, którą chcemy umieścić w symbolach zastępczych i połączyć z ciągiem znaków przekazanym jako parametry do funkcji formatu.
Przykład: Formatowanie ciągów za pomocą metody format().
Python3
n1> => 'Hello'> n2> => 'techcodeview.com'> # for single substitution> print> (> '{}, {}'> .> format> (n1, n2))> |
Wyjście
Hello, techcodeview.com
Możemy także użyć nazwy zmiennej wewnątrz nawiasów klamrowych {}. Dzięki temu będziemy mogli używać parametrów funkcji formatujących w dowolnej kolejności.
Przykład: Formatuj funkcje za pomocą zmiennych umieszczonych w nawiasach klamrowych.
Python3
n1> => 'Hello'> n2> => 'GeeksForGeeks'> # for single or multiple substitutions> # let's say b1 and b2 are formal parameters> # and n1 and n2 are actual parameters> print> (> '{b1}! This is {b2}.'> .> format> (b1> => n1, b2> => n2))> # we can also change the order of the> # variables in the string without changing> # the parameters of format function> print> (> '{b2}! This is {b1}.'> .> format> (b1> => n1, b2> => n2))> |
Wyjście
Hello! This is GeeksForGeeks. GeeksForGeeks! This is Hello.
Notatka: Aby dowiedzieć się więcej o str.format(), zobacz format() w Pythonie
struny f
W PEP 498 wprowadzono nowy mechanizm formatowania ciągów znaków znany jako interpolacja ciągów literalnych lub częściej jako Struny F (ze względu na wiodący znak f poprzedzający literał ciągu). Ideą f-stringów jest uproszczenie interpolacji ciągów.
Aby utworzyć ciąg f, poprzedź ciąg literą f . Sam ciąg można sformatować w podobny sposób, jak w przypadku str. format(). Struny F zapewniają zwięzły i wygodny sposób osadzania wyrażeń Pythona w literałach łańcuchowych w celu formatowania.
Przykład: Formatowanie ciągów za pomocą ciągów f
Python3
n1> => 'Hello'> n2> => 'techcodeview.com'> # f tells Python to restore the value of two> # string variable name and program inside braces {}> print> (f> '{n1}! This is {n2}'> )> |
Wyjście
Hello! This is techcodeview.com (2 * 3)-10 = -4
Możemy również użyć f-stringów do obliczenia niektórych operacji arytmetycznych i wykonamy arytmetykę wbudowaną. Zobacz poniższy przykład –
Przykład: Arytmetyka wbudowana przy użyciu ciągów f
Python3
a> => 2> b> => 3> c> => 10> print> (f> '({a} * {b})-{c} = {(2 * 3)-10}'> )> |
Wyjście
(2 * 3)-10 = -4
Notatka: Aby dowiedzieć się więcej na temat f-stringów, zobacz f-stringi w Pythonie
Klasa szablonu ciągu
W module String klasa szablonów pozwala nam stworzyć uproszczoną składnię specyfikacji wyjściowej. W formacie używane są nazwy zastępcze utworzone przez $ z prawidłowymi identyfikatorami Pythona (znaki alfanumeryczne i podkreślenia). Otoczenie symbolu zastępczego nawiasami klamrowymi umożliwia umieszczenie po nim większej liczby liter alfanumerycznych bez spacji. Zapisanie $$ tworzy pojedynczy znak ucieczki $:
Przykład: Formatowanie ciągu przy użyciu klasy szablonów
Python3
from> string> import> Template> n1> => 'Hello'> n2> => 'techcodeview.com'> # made a template which we used to> # pass two variable so n3 and n4> # formal and n1 and n2 actual> n> => Template(> '$n3 ! This is $n4.'> )> # and pass the parameters into the template string.> print> (n.substitute(n3> => n1, n4> => n2))> |
Wyjście
Hello ! This is techcodeview.com.
Notatka: Aby dowiedzieć się więcej o klasie String Template, zobacz Klasa szablonu ciągu w Pythonie