logo

Metoda Python String format().

Theformat()>method je zmogljivo orodje, ki razvijalcem omogoča ustvarjanje oblikovanih nizov z vdelavo spremenljivk in vrednosti v ograde znotraj niza predloge. Ta metoda ponuja prilagodljiv in vsestranski način za izdelavo besedilnega izhoda za širok spekter aplikacij. Python funkcija string format(). je bil uveden za učinkovitejše obravnavanje kompleksnega oblikovanja nizov. Včasih želimo v tem primeru ustvariti posplošene izjave za tiskanje, namesto da pišemo izjave za tiskanje vsakič, ko uporabimo koncept oblikovanja.

Sintaksa Python String Format().

Sintaksa: { }.format(vrednost)



Parametri:

  • vrednost: Lahko je celo število, numerična konstanta s plavajočo vejico, niz, znaki ali celo spremenljivke.

Vrsta povratka: Vrne oblikovani niz z vrednostjo, posredovano kot parameter na mestu označbe mesta.

String Format() v primeru Pythona

Preprosta predstavitev metode Python String format() v Python.



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

>

>

Izhod

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

Uporaba metode .Format().

Ta metoda vgrajenega razreda nizov zagotavlja funkcionalnost za kompleksne zamenjave spremenljivk in oblikovanje vrednosti. Ta nova tehnika oblikovanja velja za bolj elegantno. Splošna sintaksa metode format() je string.format(var1, var2,…). Tukaj bomo poskušali razumeti, kako formatirati niz, ki vsebuje zavite oklepaje Python .

Python3




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

>

>

Izhod

I have 4.00 Rupees!>

Uporaba enega samega oblikovalnika

V tem primeru bomo uporabili zapis nizovnega oklepaja program za predstavitev str. metoda format(). Oblikovalci delujejo tako, da vstavijo eno ali več nadomestnih polj in ograd, določenih s parom zavitih oklepajev {} v niz in kliče 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>))>

>

strsep

>

Izhod

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

Oblika niza() z več ogradami

Med formatiranjem lahko uporabite več parov zavitih oklepajev niz v Pythonu . Recimo, da je v stavku potrebna še ena zamenjava spremenljivke, kar lahko storite z dodajanjem drugega para zavitih oklepajev in posredovanjem druge vrednosti v metodo. Python bo nadomestil ogradne oznake z vrednostmi v naročilo.

Sintaksa: { } { } .format(vrednost1, vrednost2)

Parametri: (vrednost1, vrednost2) : Lahko so cela števila, numerične konstante s plavajočo vejico, nizi, znaki in celo spremenljivke. Edina razlika je, da mora biti število vrednosti, posredovanih kot parametri v metodi format(), enako številu nadomestnih mest, ustvarjenih v nizu.

Napake in izjeme:

IndexError: Pojavi se, ko ima niz dodaten nadomestni znak in mu v metodi format() nismo posredovali nobene vrednosti. Python običajno dodeli nadomestne oznake s privzetim indeksom v vrstnem redu 0, 1, 2, 3…. za dostop do vrednosti, posredovanih kot parametri. Torej, ko naleti na ogrado, katere indeks nima nobene vrednosti, posredovane kot parameter, vrže IndexError.

Program Python uporablja več ograd za prikaz metode 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'>))>

>

>

Izhod

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>

String format() IndexError

Program Python, ki prikazuje napako indeksa, je število ograd štiri, vendar so posredovane samo tri vrednosti.

Python3




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

>

>

Izhod

IndexError: tuple index out of range>

Oblikovanje nizov z uporabo ubežnih zaporedij

Za oblikovanje niza ali izvajanje ukaza lahko uporabite dva ali več posebej določenih znakov v nizu. Ti znaki se imenujejo ubežna zaporedja. An Ubežno zaporedje v Pythonu se začne s poševnico nazaj (). Na primer, je ubežno zaporedje, v katerem je običajni pomen črke n dobesedno ubežan in ima alternativni pomen – nova vrstica.

Escape zaporedje Opis Primer
Prelomi niz v novo vrstico print('To rimo sem zasnoval, da bi pravočasno razložil Vse, kar vem')
Doda vodoravni zavihek print('Čas je dragocena stvar')
Natisne poševnico nazaj print('Glej, kako leti mimoko nihalo niha')
Natisne en citat print('Sploh ni pomembno, kako zelo se trudiš')
Natisne dvojni narekovaj print('Tako je eresnično')
a oddaja zvok kot zvonec natisni ('a')

Oblikovalniki s pozicijskimi argumenti in argumenti ključnih besed

Ko nadomestne oznake {} so prazne, bo Python po vrstnem redu zamenjal vrednosti, posredovane skozi str.format(). Vrednosti, ki obstajajo znotraj metode str.format(), so v bistvu tuple vrste podatkov in vsako posamezno vrednost, ki jo vsebuje tuple, je mogoče poklicati z njeno indeksno številko, ki se začne z indeksno številko 0. Te indeksne številke je mogoče posredovati v zavite oklepaje, ki služijo kot ograda v izvirnem nizu.

Sintaksa: {0} {1}.format(pozicijski_argument, ključni_argument)

Parametri: (pozicijski_argument, ključni_argument)

  • Pozicijski_argument so lahko cela števila, numerične konstante s plavajočo vejico, nizi, znaki in celo spremenljivke.
  • Argument_ključne_besede je v bistvu spremenljivka, ki shranjuje neko vrednost, ki se posreduje kot parameter.

primer: Za prikaz uporabe oblikovalnikov s pozicijskimi ključnimi argumenti.

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'>))>

>

>

Izhod

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>

Določanje vrste v Pythonu

Več parametrov je mogoče vključiti v zavite oklepaje naše sintakse. Uporabite sintakso kode formata {field_name: pretvorba} , kje ime_polja določa številko indeksa argumenta za metodo str.format(), pretvorba pa se nanaša na kodo pretvorbe podatkovnega tipa.

Uporaba %s – pretvorba nizov prek str() pred formatiranjem

Python3




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

>

>

Izhod

geeksforgeeks Interngeeks  Inter>

Uporaba %c – značaj pred formatiranjem

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

>

>

Izhod

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

Uporaba %i decimalno celo število s predznakom in %d decimalno celo število s predznakom (osnova-10) pred oblikovanjem

Python3

logično v niz java




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

>

>

Izhod

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

Še eno uporabno določanje vrste

  • %in decimalno celo število brez predznaka
  • %O osmiško celo število
  • f – prikaz s plavajočo vejico
  • b – binarno število
  • O – osmiško število
  • %x – šestnajstiško z malimi črkami po 9
  • %X – šestnajstiško z velikimi črkami po 9
  • je – zapis eksponenta

Lahko tudi določite simboli za oblikovanje . Edina sprememba je uporaba dvopičja (:) namesto %.

Na primer, namesto %s uporabite {:s} in namesto %d uporabite (:d}

Sintaksa: Niz {field_name:conversion} Primer.format(vrednost)
Napake in izjeme:
ValueError: Med pretvorbo vrste v tej metodi pride do napake.

Pretvori decimalna cela števila z osnovo 10 v numerične konstante s plavajočo vejico

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

>

>

Izhod

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>

Napake pri določanju vrste

Dokažite ValueError, medtem ko izvajate vsiljeno pretvorbe tipov

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))'''>

>

>

Izhod

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

Zamenjave oblazinjenja ali ustvarjanje presledkov

Predstavitev razmika, ko so nizi posredovani kot parametri

Privzeto so nizi znotraj polja poravnani levo, številke pa so poravnane desno. To lahko spremenimo tako, da za dvopičje postavimo kodo za poravnavo.

  <   : left-align text in the field   ^   : center text in the field>: desno poravnajte besedilo v polju>

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'>))>

>

>

Izhod:

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********>

Aplikacije

Oblikovalniki se običajno uporabljajo za organiziranje podatkov. Oblikovalnike je mogoče videti v najboljši luči, ko se uporabljajo za vizualno organizacijo veliko podatkov. Če uporabnikom prikazujemo baze podatkov, lahko z uporabo formatov za povečanje velikosti polja in spreminjanje poravnave izhod postane bolj berljiv.

Primer: za prikaz organizacije velikih podatkov z uporabo 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)>

>

>

Izhod:

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>

Uporaba slovarja za oblikovanje nizov

Uporaba slovarja za razpakiranje vrednosti v ogradne oznake v nizu, ki ga je treba oblikovati. V bistvu uporabljamo ** da razpakirate vrednosti. Ta metoda je lahko uporabna pri zamenjavi nizov med pripravo poizvedbe 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))>

>

>

Izhod:

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

Python format() s seznamom

Glede na seznam plavajočih vrednosti je naloga skrajšati vse plavajoče vrednosti na 2 decimalni mesti. Oglejmo si različne metode za opravljanje naloge.

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

>

>

Izhod

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