logo

Python String format() metode

Theformat()>metode ir spēcīgs rīks, kas ļauj izstrādātājiem izveidot formatētas virknes, iegulstot mainīgos un vērtības vietturos veidnes virknē. Šī metode piedāvā elastīgu un daudzpusīgu veidu, kā izveidot teksta izvadi plašam lietojumu klāstam. Python string format() funkcija ir ieviests, lai efektīvāk apstrādātu sarežģītu virkņu formatējumu. Dažreiz mēs vēlamies sniegt vispārinātus drukāšanas paziņojumus, nevis rakstīt drukātus paziņojumus katru reizi, kad lietojam formatēšanas jēdzienu.

Python String Format() Sintakse

Sintakse: { }.format(vērtība)



Parametri:

  • vērtība: Var būt vesels skaitlis, peldošā komata skaitliskā konstante, virkne, rakstzīmes vai pat mainīgie.

Atgriešanas veids: Atgriež formatētu virkni ar vērtību, kas ir nodota kā parametrs viettura pozīcijā.

Virknes formāts () Python piemērā

Vienkārša Python String formāta() metodes demonstrācija 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)>

>

>

Izvade

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

Izmantojot .Format() metodi

Šī iebūvētās virkņu klases metode nodrošina funkcionalitāti sarežģītu mainīgo aizstāšanai un vērtību formatēšanai. Šī jaunā formatēšanas tehnika tiek uzskatīta par elegantāku. Format() metodes vispārīgā sintakse ir string.format(var1, var2,…). Šeit mēs mēģināsim saprast, kā formatēt virkni, kurā ir cirtaini breketes Python .

Python3




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

>

>

Izvade

I have 4.00 Rupees!>

Viena formatētāja izmantošana

Šajā piemērā mēs izmantosim stīgu iekavas apzīmējums programma, lai demonstrētu str. format() metode. Formatētāji darbojas, ievietojot vienu vai vairākus aizstāšanas laukus un vietturus, ko definē cirtainu iekavas. { } virknē un izsaucot 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>))>

>

powershell administrators

>

Izvade

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

Virknes formāts() ar vairākiem vietturiem

Formatējot var izmantot vairākus cirtainu lencīšu pārus virkne Python . Pieņemsim, ka teikumā ir nepieciešama cita mainīgā aizstāšana, ko var izdarīt, pievienojot otru cirtainu iekavu pāri un nododot metodei otru vērtību. Python aizstās vietturus ar vērtībām iekšā pasūtījums.

Sintakse : { } { } .formāts(vērtība1, vērtība2)

Parametri: (vērtība1, vērtība2) : Var būt veseli skaitļi, peldošā komata skaitliskās konstantes, virknes, rakstzīmes un pat mainīgie. Vienīgā atšķirība ir tāda, ka vērtību skaitam, kas tiek nodots kā parametri format() metodē, ir jābūt vienādam ar virknē izveidoto vietturu skaitu.

Kļūdas un izņēmumi:

Indeksa kļūda: Rodas, ja virknei ir papildu vietturis, un mēs tai nenodevām nekādu vērtību formā () metodē. Python parasti piešķir vietturus ar noklusējuma indeksu tādā secībā kā 0, 1, 2, 3… lai piekļūtu vērtībām, kas nodotas kā parametri. Tātad, kad tas saskaras ar vietturi, kura indeksam nav nevienas vērtības, kas tiek nodota kā parametrs, tas izdod IndexError.

Python programma, kas izmanto vairākus vietturus, lai demonstrētu str.format() metodi.

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

>

>

Izvade

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>

Virknes formāts() IndexError

Python programma, kas demonstrē indeksa kļūdu, vietturu skaits ir četri, bet ir nodotas tikai trīs vērtības.

Python3




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

>

>

Izvade

IndexError: tuple index out of range>

Virkņu formatēšana, izmantojot Escape Sequences

Lai formatētu virkni vai izpildītu komandu, virknē varat izmantot divas vai vairākas īpaši norādītas rakstzīmes. Šīs rakstzīmes sauc par evakuācijas sekvencēm. An Escape secība Python sākas ar slīpsvītru (). Piemēram, ir atkāpšanās secība, kurā burta n kopējā nozīme tiek burtiski izsvītrota un piešķirta alternatīva nozīme – jauna rinda.

Bēgšanas secība Apraksts Piemērs
Pārrauj virkni jaunā rindā drukāt (“Es izstrādāju šo atskaņu, lai to savlaicīgi izskaidrotu Viss, ko es zinu”)
Pievieno horizontālu cilni print ('Laiks ir vērtīga lieta')
Drukā atpakaļslīpu print (“Skatieties, kā tas lido garām, kā svārsts šūpojas”)
' Drukā vienu citātu drukāt ('Nav pat svarīgi, cik smagi jūs mēģināt')
Izdrukā dubultpēdiņu print ('Tas ir tik ereāli')
a izdod zvana skaņu drukāt ('a')

Formatētāji ar pozīcijas un atslēgvārdu argumentiem

Kad vietturi { } ir tukši, Python secībā aizstās vērtības, kas nodotas caur str.format(). Vērtības, kas pastāv str.format() metodē, būtībā ir korts datu tipi un katru atsevišķo vērtību, kas ietverta virknē, var izsaukt pēc tās indeksa numura, kas sākas ar indeksa numuru 0. Šos indeksa skaitļus var nodot cirtainajās iekavās, kas kalpo kā vietturi sākotnējā virknē.

Sintakse : {0} {1}.formāts(pozīcijas_arguments, atslēgvārda_arguments)

Parametri: (pozīcijas_arguments, atslēgvārda_arguments)

  • Pozicionālais_arguments var būt veseli skaitļi, peldošā komata skaitliskās konstantes, virknes, rakstzīmes un pat mainīgie.
  • Keyword_argument būtībā ir mainīgais, kas glabā kādu vērtību, kas tiek nodota kā parametrs.

Piemērs: Demonstrēt formatētāju izmantošanu ar pozicionālajiem atslēgas argumentiem.

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

>

>

Izvade

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>

Ierakstiet, norādot Python

Mūsu sintakses krokainajās iekavās var iekļaut vairāk parametru. Izmantojiet formāta koda sintaksi {field_name: konversija} , kur lauka_nosaukums norāda str.format() metodes argumenta indeksa numuru, un konversija attiecas uz datu tipa konversijas kodu.

Izmantojot %s – virknes konvertēšana, izmantojot str() pirms formatēšanas

Python3




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

>

>

Izvade

geeksforgeeks Interngeeks  Inter>

Izmantojot %c - raksturs pirms formatēšanas

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

>

>

Izvade

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

Izmantojot %i parakstīts vesels decimālskaitlis un %d pirms formatēšanas parakstīts vesels decimālskaitlis (bāze-10).

Python3




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

>

>

Izvade

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

Vēl viena noderīga tipa norādīšana

  • %in neparakstīts vesels decimālskaitlis
  • %O oktāls vesels skaitlis
  • f – peldošā komata displejs
  • b - binārs skaitlis
  • O – oktālais skaitlis
  • %x – heksadecimāls ar mazajiem burtiem pēc 9
  • %X – heksadecimāls ar lielajiem burtiem pēc 9
  • Tas ir – eksponentu apzīmējums

Varat arī norādīt formatēšanas simboli . Vienīgā izmaiņa ir kola (:) izmantošana % vietā.

Piemēram, %s vietā izmantojiet {:s} un %d vietā izmantojiet (:d}

Sintakse : Virkne {field_name:conversion} Piemērs.formāts(vērtība)
Kļūdas un izņēmumi:
Vērtības kļūda: Šīs metodes tipa pārveidošanas laikā rodas kļūda.

Pārvērst 10 bāzes veselus skaitļus par peldošā komata skaitliskām konstantēm

Python3

java atvērts fails




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

>

>

Izvade

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>

Veida norādīšanas kļūdas

Piespiedu darbības laikā demonstrējiet ValueError tipa konversijas

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

>

>

Izvade

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

Polsterējuma aizstāšana vai atstarpju ģenerēšana

Atstarpes demonstrēšana, kad virknes tiek nodotas kā parametri

Pēc noklusējuma virknes laukā ir taisnotas ar kreiso pusi, un skaitļi ir taisnoti pa labi. Mēs varam to mainīt, ievietojot izlīdzināšanas kodu tieši aiz kola.

  <   : left-align text in the field   ^   : center text in the field>: labojiet tekstu laukā>

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

>

>

Izvade:

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

Lietojumprogrammas

Datu kārtošanai parasti izmanto formatētājus. Formatētājus var redzēt vislabākajā gaismā, ja tie tiek izmantoti daudzu datu kārtošanai vizuālā veidā. Ja lietotājiem rādām datu bāzes, formatētāju izmantošana, lai palielinātu lauka izmēru un mainītu līdzinājumu, var padarīt izvadi lasāmāku.

Piemērs: lai parādītu lielu datu organizēšanu, izmantojot formātu ()

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

>

>

Izvade:

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>

Virkņu formatēšanas vārdnīcas izmantošana

Izmantojot vārdnīcu, lai izsaiņotu vērtības vietturos virknē, kas jāformatē. Mēs pamatā lietojam ** lai izsaiņotu vērtības. Šī metode var būt noderīga virknes aizstāšanai, sagatavojot SQL vaicājumu.

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

>

>

Izvade:

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

Python formāts () ar sarakstu

Ņemot vērā peldošo vērtību sarakstu, uzdevums ir saīsināt visas peldošās vērtības līdz 2 cipariem aiz komata. Apskatīsim dažādas metodes, kā veikt uzdevumu.

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

>

>

Izvade

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