logo

Formatowanie ciągu w Pythonie – jak sformatować ciąg?

Formatowanie ciągów umożliwia tworzenie dynamicznych ciągów poprzez łączenie zmiennych i wartości. W tym artykule omówimy około 5 sposobów formatowania ciągu.

Poznasz różne metody formatowania ciągów znaków z przykładami dla lepszego zrozumienia. Przyjrzyjmy się im teraz!



Jak formatować ciągi w Pythonie

Istnieje pięć różnych sposobów formatowania ciągu znaków Pyton

  • Formatowanie za pomocą operatora %.
  • Formatowanie za pomocą metody string format().
  • Formatowanie za pomocą literałów łańcuchowych, zwanych ciągami f.
  • Formatowanie za pomocą klasy szablonów ciągów
  • Formatowanie za pomocą metody string center().

Zobaczymy zatem całość wyżej wymienionych sposobów i skupimy się również na tym, która strategia formatowania ciągów jest najlepsza.

1. Jak sformatować ciąg za pomocą operatora %

Jest to najstarsza metoda formatowania ciągów. Tutaj używamy modulo % operator . Moduł % jest również znany jako operator formatowania ciągu.



Ciąg formatujący Pythona przy użyciu operatora %

W wyrażeniu Parszywy, chudy, bezpański pies %s połknął % „pośpiesznie”, symbol zastępczy %s w ciągu znaków zostaje zastąpiony wartością „pośpiesznie”.

Python3

matryca lateksowa






print>(>'The mangy, scrawny stray dog %s gobbled down'> %>'hurriedly'> +> >'the grain-free, organic dog food.'>)>

>

>

Wyjście

The mangy, scrawny stray dog hurriedly gobbled downthe grain-free, organic dog food.>

Wstrzykiwanie wielu ciągów za pomocą operatora modulo

Tutaj wstawiamy wiele ciągów znaków za pomocą operatora %.

Python3




x>=> 'looked'> print>(>'Misha %s and %s around'>%>(>'walked'>,x))>

>

>

Wyjście

Misha walked and looked around>

Precyzyjna obsługa w Pythonie przy użyciu operatora %

Liczby zmiennoprzecinkowe korzystają z formatu %a.bf . Tutaj, A byłaby minimalną liczbą cyfr występujących w ciągu; mogą one zostać uzupełnione spacjami, jeśli cała liczba nie ma tylu cyfr.

Blisko tego, chłopak określa, ile cyfr ma zostać wyświetlonych po przecinku dziesiętnym.

W tym kodzie ciąg „Wartość pi to: %5.4f” zawiera specyfikator formatu %5.4f. Specyfikator formatu %5.4f służy do formatowania liczby zmiennoprzecinkowej o minimalnej szerokości 5 i dokładności do 4 miejsc po przecinku.

Python3




print>(>'The value of pi is: %5.4f'> %>(>3.141592>))>

>

>

Wyjście

The value of pi is: 3.1416>

Wiele typów konwersji formatów

W podanym kodzie ciąg formatujący Python jest konwertowany na liczbę całkowitą i zmiennoprzecinkową za pomocą %d,%f.

Python3




variable>=> 12> string>=> 'Variable as integer>=> %>d > Variable as>float> => %>f'>%>(variable, variable)> print> (string)>

>

>

Wyjście

Variable as integer = 12 Variable as float = 12.000000>

Notatka: Aby dowiedzieć się więcej na temat formatowania %, zobacz Formatowanie ciągu w Pythonie przy użyciu%

2. Jak sformatować ciąg za pomocą metody format().

Metoda formatowania(). został wprowadzony w Pythonie 3 w celu wydajniejszej obsługi złożonego formatowania ciągów.

Formatery działają poprzez wstawienie jednego lub większej liczby pól zastępczych i obiektów zastępczych zdefiniowanych przez parę nawiasów klamrowych { } do ciągu znaków i wywołanie metody str.format() . Wartość, którą chcemy umieścić w symbolach zastępczych i połączyć z ciągiem znaków przekazanym jako parametry do funkcji formatu.

Składnia: „Tutaj ciąg znaków {}, a następnie także {}”.format(„coś1′,„coś2”)

Formatowanie String w Pythonie przy użyciu metody format().

Ten kod wykorzystuje {} jako symbol zastępczy, a następnie wywołaliśmy metodę.format() na „równym” symbolu zastępczym.

Python3


pamięć rejestracyjna



print>(>'We all are {}.'>.>format>(>'equal'>))>

>

>

Wyjście

We all are equal.>

Wstawianie oparte na indeksie

W tym kodzie nawiasy klamrowe {} z indeksami są używane w ciągu „{2} {1} {0}” w celu wskazania pozycji, w których zostaną umieszczone odpowiednie wartości.

Python3




print>(>'{2} {1} {0}'>.>format>(>'directions'>,> >'the'>,>'Read'>))>

>

>

Wyjście

Read the directions>

Wstaw obiekt poprzez przypisanie słów kluczowych

W tym kodzie nawiasy klamrowe {} z nazwanymi symbolami zastępczymi ({a}, {b}, {c}) są używane w ciągu „a: {a}, b: {b}, c: {c}”, aby wskazać pozycje, w których zostaną umieszczone odpowiednie nazwane argumenty.

Python3




print>(>'a: {a}, b: {b}, c: {c}'>.>format>(a>=> 1>,> >b>=> 'Two'>,> >c>=> 12.3>))>

>

>

Wyjście

a: 1, b: Two, c: 12.3>

Wykorzystaj ponownie wstawione obiekty

W tym kodzie nawiasy klamrowe {} z nazwanymi symbolami zastępczymi ({p}) są użyte w ciągu znaków. 'Pierwsze {p} było w porządku, ale {p} {p} było trudne.' argument p zostanie umieszczony.

Python3




print>(> >'The first {p} was alright, but the {p} {p} was tough.'>.>format>(p>=>'second'>))>

>

>

Wyjście

The first second was alright, but the second second was tough.>

Dokładność pływakowa za pomocą metody.format().

Składnia: {[indeks]:[szerokość][.precyzja][typ]}

Typu można używać z kodami formatu:

Dekodowanie JavaScript Base64
  • 'D' dla liczb całkowitych
  • 'F' dla liczb zmiennoprzecinkowych
  • 'B' dla liczb binarnych
  • „O” dla liczb ósemkowych
  • 'X' dla liczb ósemkowych w formacie szesnastkowym
  • 'S' dla sznurka
  • 'To jest' dla liczb zmiennoprzecinkowych w formacie wykładniczym

Przykład:

Oba kody wykonują formatowanie ciągu. Pierwszy ciąg jest sformatowany za pomocą „%”, a drugi ciąg za pomocą .format().

Python3




print>(>'The valueof pi is: %1.5f'> %>3.141592>)> print>(>'The valueof pi is: {0:1.5f}'>.>format>(>3.141592>))>

>

>

Wyjście

The valueof pi is: 3.14159 The valueof pi is: 3.14159>

Notatka: Aby dowiedzieć się więcej o str.format(), zobacz format() w Pythonie

3. Zrozumienie łańcucha f Pythona

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 Pythonie jest uproszczenie interpolacji ciągów.

Aby utworzyć ciąg f w Pythonie, poprzedź ciąg literą f. Sam ciąg znaków można sformatować w podobny sposób, jak w przypadku ul. format() . Struny F zapewniają zwięzły i wygodny sposób osadzania wyrażeń Pythona w literałach łańcuchowych w celu formatowania.

Formatowanie ciągów za pomocą ciągów F

W tym kodzie f-string fNazywam się {name}. służy do interpolacji wartości zmiennej name w ciągu znaków.

Python3




name>=> 'Ele'> print>(f>'My name is {name}.'>)>

>

>

Wyjście

My name is Ele.>

Ta nowa składnia formatowania jest bardzo wydajna i łatwa. Możesz także wstawiać dowolne wyrażenia Pythona, a nawet wykonywać w nim operacje arytmetyczne.

Operacje arytmetyczne na łańcuchach F

W tym kodzie f-string f Powiedział, że jego wiek to {2 * (a + b)}. służy do interpolacji wyniku wyrażenia 2 * (a + b) do ciągu znaków.

Python3




a>=> 5> b>=> 10> print>(f>'He said his age is {2 * (a + b)}.'>)>

>

>

Wyjście

He said his age is 30.>

Możemy również skorzystać lambda wyrażenia w ciąg f formatowanie.

Wyrażenia lambda wykorzystujące ciągi F

W tym kodzie anonimowa funkcja lambda jest zdefiniowana przy użyciu lambda x: x*2. Ta funkcja lambda przyjmuje argument x i zwraca jego wartość podwójną.

Python3




print>(f>'He said his age is {(lambda x: x*2)(3)}'>)>

reżyser Karan Johar

>

>

Wyjście

He said his age is 6>

Precyzja pływakowa w metodzie f-String

W tym kodzie formatowanie f-string służy do interpolacji wartości zmiennej num w ciągu.

  Syntax  : {value:{width}.{precision}}>

Python3




num>=> 3.14159> print>(f>'The valueof pi is: {num:{1}.{5}}'>)>

>

>

Wyjście

The valueof pi is: 3.1416>

Notatka: Aby dowiedzieć się więcej na temat f-stringów, zobacz f-stringi w Pythonie

4. Klasa szablonów stringów w Pythonie

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łowym językiem Python identyfikatory (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 $:

Formatowanie łańcucha w Pythonie przy użyciu klasy szablonu

Ten kod importuje klasę Template z modułu string. Klasa Template pozwala nam utworzyć ciąg szablonowy z symbolami zastępczymi, które można zastąpić rzeczywistymi wartościami. Tutaj podstawiamy wartości n1 i n2 zamiast n3 i n4 w ciągu n.

Python3




from> string>import> Template> n1>=> 'Hello'> n2>=> 'techcodeview.com'> n>=> Template(>'$n3 ! This is $n4.'>)> # and pass the parameters into the> # template string.> print>(n.substitute(n3>=>n1, n4>=>n2))>

pamięć rejestracyjna

>

>

Wyjście

Hello ! This is techcodeview.com.>

Notatka: Aby dowiedzieć się więcej o klasie String Template, zobacz Klasa szablonu ciągu w Pythonie

5. Jak sformatować ciąg za pomocą metody center().

Metoda center() to metoda wbudowana w klasę str Pythona, która zwraca nowy ciąg znaków wyśrodkowany w ciągu o określonej szerokości.

Formatowanie ciągu przy użyciu metody center().

Ten kod zwraca nowy strunowy uzupełnione spacjami po lewej i prawej stronie.

Python3




string>=> 'GeeksForGeeks!'> width>=> 30> centered_string>=> string.center(width)> print>(centered_string)>

>

>

Wyjście

 GeeksForGeeks!>

Ciąg formatujący Pythona: % vs. .format vs. literał f-string

struny f są szybsze i lepsze niż oba formatowanie % I str.format() . Wyrażenia f-string są oceniane w czasie wykonywania i możemy także osadzać wyrażenia w f-stringu, używając bardzo prostej i łatwej składni.

Wyrażenia wewnątrz nawiasów są oceniane w czasie wykonywania, a następnie łączone z ciągiem znaków f-string, po czym zwracany jest końcowy ciąg.

Notatka: Użyj Template String, jeśli ciąg jest ciągiem dostarczonym przez użytkownika. W przeciwnym razie użyj f-Strings, jeśli używasz Pythona 3.6 lub nowszego, i. format() , jeśli tak nie jest.

Omówiliśmy wszystkie 5 sposobów formatowania ciągów w Pythonie. Dla każdej metody istnieje wiele przypadków użycia i przykładów. Porównaliśmy także te metody, aby określić, która z nich jest najskuteczniejsza w rzeczywistych projektach.

Podobne lektury:

  • Formatowanie ciągów w Pythonie
  • Jak używać formaterów ciągów w Pythonie
  • Jak sformatować ciąg znaków za pomocą słownika w Pythonie