logo

Metoda Pythona w formacie String().

Theformat()>Metoda to potężne narzędzie, które pozwala programistom tworzyć sformatowane ciągi znaków poprzez osadzanie zmiennych i wartości w obiektach zastępczych w ciągu szablonu. Metoda ta zapewnia elastyczny i wszechstronny sposób konstruowania wyników tekstowych do szerokiego zakresu zastosowań. Pyton funkcja formatu ciągu(). został wprowadzony w celu bardziej efektywnej obsługi złożonego formatowania ciągów. Czasami w takim przypadku chcemy utworzyć uogólnione instrukcje print, zamiast pisać instrukcje print za każdym razem, gdy używamy koncepcji formatowania.

Składnia Python String Format().

Składnia: { }.format(wartość)



Parametry:

  • wartość : Może to być liczba całkowita, stała liczbowa zmiennoprzecinkowa, ciąg znaków, znaki lub nawet zmienne.

Typ zwrotu: Zwraca sformatowany ciąg znaków z wartością przekazaną jako parametr w pozycji zastępczej.

String Format() w przykładzie Pythona

Prosta demonstracja metody Python String format() w Pyton.



Python3






name>=> 'Ram'> age>=> 22> message>=> 'My name>is> {>0>}>and> I am {>1>} years> >old. {>1>}>is> my favorite> >number.'.>format>(name, age)> print>(message)>

>

>

Wyjście

My name is Ram and I am 22 years old. 22 is my favorite number.>

Korzystanie z metody .Format().

Ta metoda wbudowanej klasy string zapewnia funkcjonalność dla złożonych podstawień zmiennych i formatowania wartości. Ta nowa technika formatowania jest uważana za bardziej elegancką. Ogólna składnia metody format() to string.format(var1, var2,…). Tutaj postaramy się zrozumieć, jak sformatować ciąg znaków zawierający nawiasy klamrowe Pyton .

Python3




txt>=> 'I have {an:.2f} Rupees!'> print>(txt.>format>(an>=> 4>))>

>

>

Wyjście

I have 4.00 Rupees!>

Korzystanie z pojedynczego formatera

W tym przykładzie użyjemy zapis nawiasu tekstowego program demonstrujący ul. metoda format(). Formatery działają poprzez umieszczenie jednego lub większej liczby pól zastępczych i obiektów zastępczych zdefiniowanych przez parę nawiasów klamrowych { } w ciąg znaków i wywołanie metody str.format() .

Python3




# using format option in a simple string> print>(>'{}, A computer science portal for geeks.'> >.>format>(>'techcodeview.com'>))> # using format option for a> # value stored in a variable> str> => 'This article is written in {}'> print>(>str>.>format>(>'Python'>))> # formatting a string using a numeric constant> print>(>'Hello, I am {} years old !'>.>format>(>18>))>

>

rujira banerjee

>

Wyjście

techcodeview.com, A computer science portal for geeks. This article is written in Python Hello, I am 18 years old!>

String format() z wieloma symbolami zastępczymi

Podczas formatowania można używać wielu par nawiasów klamrowych ciąg w Pythonie . Załóżmy, że w zdaniu potrzebne jest inne podstawienie zmiennej, czego można dokonać dodając drugą parę nawiasów klamrowych i przekazując drugą wartość do metody. Python zastąpi symbole zastępcze wartościami w zamówienie.

Składnia: { } { } .format(wartość1, wartość2)

Parametry: (wartość1, wartość2): Mogą to być liczby całkowite, stałe liczbowe zmiennoprzecinkowe, ciągi znaków, znaki, a nawet zmienne. Jedyna różnica polega na tym, że liczba wartości przekazywanych jako parametry w metodzie format() musi być równa liczbie symboli zastępczych utworzonych w ciągu.

Błędy i wyjątki:

Błąd indeksu: Występuje, gdy ciąg znaków ma dodatkowy symbol zastępczy i nie przekazaliśmy dla niego żadnej wartości w metodzie format(). Python zwykle przypisuje symbolom zastępczym domyślny indeks w takiej kolejności 0, 1, 2, 3…. aby uzyskać dostęp do wartości przekazanych jako parametry. Zatem gdy napotka obiekt zastępczy, którego indeks nie zawiera żadnej wartości przekazanej jako parametr, zgłasza błąd IndexError.

Program w języku Python wykorzystujący wiele symboli zastępczych w celu zademonstrowania metody str.format().

Python3




# Multiple placeholders in format() function> my_string>=> '{}, is a {} science portal for {}'> print>(my_string.>format>(>'techcodeview.com'>,>'computer'>,>'geeks'>))> # different datatypes can be used in formatting> print>(>'Hi ! My name is {} and I am {} years old'> >.>format>(>'User'>,>19>))> # The values passed as parameters> # are replaced in order of their entry> print>(>'This is {} {} {} {}'> >.>format>(>'one'>,>'two'>,>'three'>,>'four'>))>

>

>

Wyjście

techcodeview.com, is a computer science portal for geeks Hi! My name is User and I am 19 years old This is one two three four>

Format ciągu() IndexError

Program w języku Python pokazujący, że liczba symboli zastępczych błędu indeksu wynosi cztery, ale przekazane zostały tylko trzy wartości.

Python3




# parameters in format function.> my_string>=> '{}, is a {} {} science portal for {}'> print>(my_string.>format>(>'techcodeview.com'>,>'computer'>,>'geeks'>))>

>

>

Wyjście

IndexError: tuple index out of range>

Formatowanie ciągów za pomocą sekwencji ucieczki

Możesz użyć dwóch lub więcej specjalnie wyznaczonych znaków w ciągu, aby sformatować ciąg lub wykonać polecenie. Znaki te nazywane są sekwencjami ucieczki. Jakiś Sekwencja ucieczki w Pythonie zaczyna się od ukośnika odwrotnego (). Na przykład jest sekwencją ucieczki, w której powszechne znaczenie litery n jest dosłownie uciekane i nadawane jest mu alternatywne znaczenie – nowa linia.

Sekwencja ewakuacyjna Opis Przykład
N Dzieli ciąg znaków na nową linię print(‚Zaprojektowałem ten rym, żeby wyjaśnić go w odpowiednim czasie Wszystko, co wiem’)
T Dodaje poziomą zakładkę print(‚Czas to cenna rzecz”)
Drukuje ukośnik odwrotny print(‚Patrz, jak lecijak wahadło się kołysze’)
Drukuje pojedynczy cytat print(‚Nawet nie ma znaczenia, jak bardzo się starasz’)
Drukuje podwójny cudzysłów print(‚To takie ierealne‘)
A wydaje dźwięk przypominający dzwonek drukuj('a')

Formatery z argumentami pozycyjnymi i kluczowymi

Kiedy symbole zastępcze { } są puste, Python zastąpi w odpowiedniej kolejności wartości przekazane przez str.format(). Wartości istniejące w metodzie str.format() to zasadniczo: krotka typy danych a każdą pojedynczą wartość zawartą w krotce można wywołać poprzez jej numer indeksu, który zaczyna się od numeru indeksu 0. Te numery indeksu można przekazać do nawiasów klamrowych, które służą jako symbole zastępcze w oryginalnym ciągu.

Składnia: {0} {1}.format(argument_pozycyjny, argument_kluczowy)

Parametry: (argument_pozycyjny, argument_kluczowy)

  • Argument_pozycyjny mogą być liczbami całkowitymi, stałymi zmiennoprzecinkowymi, ciągami znaków, znakami, a nawet zmiennymi.
  • Argument_słowa kluczowego jest zasadniczo zmienną przechowującą pewną wartość, która jest przekazywana jako parametr.

Przykład: Aby zademonstrować użycie formaterów z argumentami klucza pozycyjnego.

Python3




# Positional arguments> # are placed in order> print>(>'{0} love {1}!!'>.>format>(>'techcodeview.com'>,> >'Geeks'>))> # Reverse the index numbers with the> # parameters of the placeholders> print>(>'{1} love {0}!!'>.>format>(>'techcodeview.com'>,> >'Geeks'>))> print>(>'Every {} should know the use of {} {} programming and {}'> >.>format>(>'programmer'>,>'Open'>,>'Source'>,> >'Operating Systems'>))> # Use the index numbers of the> # values to change the order that> # they appear in the string> print>(>'Every {3} should know the use of {2} {1} programming and {0}'> >.>format>(>'programmer'>,>'Open'>,>'Source'>,>'Operating Systems'>))> # Keyword arguments are called> # by their keyword name> print>(>'{gfg} is a {0} science portal for {1}'> >.>format>(>'computer'>,>'geeks'>, gfg>=>'techcodeview.com'>))>

>

>

Wyjście

techcodeview.com love Geeks!!  Geeks love techcodeview.com!!  Every programmer should know the use of Open Source programming and Operating Systems  Every Operating Systems should know the use of Source Open programming and programmer  techcodeview.com is a computer science portal for geeks>

Wpisz Określanie w Pythonie

Więcej parametrów można uwzględnić w nawiasach klamrowych naszej składni. Użyj składni kodu formatu {Nazwa pola: konwersja} , Gdzie Nazwa pola określa numer indeksu argumentu metody str.format(), a konwersja odnosi się do kodu konwersji typu danych.

Używanie %s – konwersja stringów poprzez str() przed formatowaniem

Python3




print>(>'%20s'> %> (>'geeksforgeeks'>, ))> print>(>'%-20s'> %> (>'Interngeeks'>, ))> print>(>'%.5s'> %> (>'Interngeeks'>, ))>

>

>

Wyjście

geeksforgeeks Interngeeks  Inter>

Używanie %c - postać przed formatowaniem

Python3




type> => 'bug'> result>=> 'troubling'> print>('I wondered why the program was>%>s me. Then> it dawned on me it was a>%>s .'>%> >(result,>type>))>

>

>

Wyjście

I wondered why the program was troubling me. Thenit dawned on me it was a bug .>

Używanie%i dziesiętna liczba całkowita ze znakiem i %D dziesiętna liczba całkowita ze znakiem (podstawa 10) przed formatowaniem

Python3




zastąpienie ciągu w Javie
match>=> 12000> site>=> 'Amazon'> print>('>%>s>is> so useful. I tried to look> up mobile>and> they had a nice one that cost>%>d rupees.'>%> (site, match))>

>

>

Wyjście

Amazon is so useful. I tried to lookup mobile and they had a nice one that cost 12000 rupees.>

Kolejne przydatne określenie typu

  • %W dziesiętna liczba całkowita bez znaku
  • %O liczba całkowita ósemkowa
  • F – wyświetlacz zmiennoprzecinkowy
  • B - Liczba binarna
  • O – liczba ósemkowa
  • %X – szesnastkowy z małymi literami po 9
  • %X – szesnastkowy z dużymi literami po 9
  • To jest – zapis wykładniczy

Możesz także określić formatowanie symboli . Jedyną zmianą jest użycie dwukropka (:) zamiast %.

Na przykład zamiast %s użyj {:s} i zamiast %d użyj (:d}

Składnia: String {nazwa_pola:konwersja} Przykład.format(wartość)
Błędy i wyjątki:
Błąd wartości: Podczas konwersji typu w tej metodzie występuje błąd.

Konwertuj dziesiętne liczby całkowite o podstawie 10 na zmiennoprzecinkowe stałe liczbowe

Python3




print>(>'This site is {0:f}% securely {1}!!'>.> >format>(>100>,>'encrypted'>))> # To limit the precision> print>(>'My average of this {0} was {1:.2f}%'> >.>format>(>'semester'>,>78.234876>))> # For no decimal places> print>(>'My average of this {0} was {1:.0f}%'> >.>format>(>'semester'>,>78.234876>))> # Convert an integer to its binary or> # with other different converted bases.> print>(>'The {0} of 100 is {1:b}'> >.>format>(>'binary'>,>100>))> print>(>'The {0} of 100 is {1:o}'> >.>format>(>'octal'>,>100>))>

>

>

Wyjście

This site is 100.000000% securely encrypted!! My average of this semester was 78.23% My average of this semester was 78% The binary of 100 is 1100100 The octal of 100 is 144>

Wpisz Określanie błędów

Zademonstruj błąd ValueError podczas wykonywania wymuszonego działania konwersje typów

Python3




# When explicitly converted floating-point> # values to decimal with base-10 by 'd'> # type conversion we encounter Value-Error.> print>(>'The temperature today is {0:d} degrees outside !'> >.>format>(>35.567>))> # Instead write this to avoid value-errors> ''' print('The temperature today is {0:.0f} degrees outside !'> >.format(35.567))'''>

>

>

Wyjście

ValueError: Unknown format code 'd' for object of type 'float'>

Dopełnianie podstawień lub generowanie spacji

Demonstracja odstępów, gdy ciągi są przekazywane jako parametry

Domyślnie ciągi znaków są w polu wyrównane do lewej, a liczby do prawej. Możemy to zmodyfikować, umieszczając kod wyrównania tuż za dwukropkiem.

  <   : left-align text in the field   ^   : center text in the field>: wyrównanie tekstu w polu>'> do prawej 

Python3




# To demonstrate spacing when> # strings are passed as parameters> print>(>'{0:4}, is the computer science portal for {1:8}!'> >.>format>(>'techcodeview.com'>,>'geeks'>))> # To demonstrate spacing when numeric> # constants are passed as parameters.> print>(>'It is {0:5} degrees outside !'> >.>format>(>40>))> # To demonstrate both string and numeric> # constants passed as parameters> print>(>'{0:4} was founded in {1:16}!'> >.>format>(>'techcodeview.com'>,>2009>))> # To demonstrate aligning of spaces> print>(>'{0:^16} was founded in {1:<4}!'> >.>format>(>'techcodeview.com'>,>2009>))> print>(>'{:*^20s}'>.>format>(>'Geeks'>))>

>

Wyjście :

techcodeview.com, is the computer science portal for geeks ! It is 40 degrees outside! techcodeview.com was founded in 2009!  techcodeview.com was founded in 2009 ! *******Geeks********>

Aplikacje

Do porządkowania danych powszechnie używa się formaterów. Programy formatujące można zobaczyć w najlepszym świetle, gdy są używane do wizualnego organizowania dużej ilości danych. Jeśli pokazujemy użytkownikom bazy danych, użycie formaterów w celu zwiększenia rozmiaru pola i zmodyfikowania wyrównania może sprawić, że dane wyjściowe będą bardziej czytelne.

Przykład: aby zademonstrować organizację dużych danych za pomocą funkcji format()

Python3




# which prints out i, i ^ 2, i ^ 3,> # i ^ 4 in the given range> # Function prints out values> # in an unorganized manner> def> unorganized(a, b):> >for> i>in> range>(a, b):> >print>(i, i>*>*>2>, i>*>*>3>, i>*>*>4>)> # Function prints the organized set of values> def> organized(a, b):> >for> i>in> range>(a, b):> ># Using formatters to give 6> ># spaces to each set of values> >print>(>'{:6d} {:6d} {:6d} {:6d}'> >.>format>(i, i>*>*> 2>, i>*>*> 3>, i>*>*> 4>))> # Driver Code> n1>=> int>(>input>(>'Enter lower range :- '>))> n2>=> int>(>input>(>'Enter upper range :- '>))> print>(>'------Before Using Formatters-------'>)> # Calling function without formatters> unorganized(n1, n2)> print>()> print>(>'-------After Using Formatters---------'>)> print>()> # Calling function that contains> # formatters to organize the data> organized(n1, n2)>

>

>

Wyjście :

Enter lower range :- 3 Enter upper range :- 10 ------Before Using Formatters------- 3 9 27 81 4 16 64 256 5 25 125 625 6 36 216 1296 7 49 343 2401 8 64 512 4096 9 81 729 6561 -------After Using Formatters---------  3 9 27 81  4 16 64 256  5 25 125 625  6 36 216 1296  7 49 343 2401  8 64 512 4096  9 81 729 6561>

Używanie słownika do formatowania ciągów

Użycie słownika do rozpakowania wartości do symboli zastępczych w ciągu znaków, który wymaga sformatowania. W zasadzie używamy ** aby rozpakować wartości. Metoda ta może być przydatna podczas podstawiania ciągów podczas przygotowywania zapytania SQL.

Python3




introduction>=> 'My name is {first_name} {middle_name} {last_name} AKA the {aka}.'> full_name>=> {> >'first_name'>:>'Tony'>,> >'middle_name'>:>'Howard'>,> >'last_name'>:>'Stark'>,> >'aka'>:>'Iron Man'>,> }> # Notice the use of '**' operator to unpack the values.> print>(introduction.>format>(>*>*>full_name))>

>

>

Wyjście:

My name is Tony Howard Stark AKA the Iron Man.>

Format Pythona() z listą

Mając listę wartości zmiennoprzecinkowych, zadaniem jest obcięcie wszystkich wartości zmiennoprzecinkowych do 2 cyfr dziesiętnych. Zobaczmy różne metody wykonania zadania.

Python3




# Python code to truncate float> # values to 2 decimal digits.> > # List initialization> Input> => [>100.7689454>,>17.232999>,>60.98867>,>300.83748789>]> > # Using format> Output>=> [>'{:.2f}'>.>format>(elem)>for> elem>in> Input>]> > # Print output> print>(Output)>

>

>

Wyjście

['100.77', '17.23', '60.99', '300.84']>