Theformat()>menetelmä on tehokas työkalu, jonka avulla kehittäjät voivat luoda muotoiltuja merkkijonoja upottamalla muuttujia ja arvoja paikkamerkkeihin mallin merkkijonoon. Tämä menetelmä tarjoaa joustavan ja monipuolisen tavan rakentaa tekstitulosteita monenlaisiin sovelluksiin. Python string format() -funktio on otettu käyttöön monimutkaisen merkkijonomuotoilun tehokkaampaan käsittelyyn. Joskus haluamme tehdä yleisiä print-lauseita siinä tapauksessa sen sijaan, että kirjoittaisimme print-lauseita joka kerta, kun käytämme muotoilun käsitettä.
Python String Format() -syntaksi
Syntaksi: { }.muoto(arvo)
Parametrit:
- arvo: Voi olla kokonaisluku, liukulukuvakio, merkkijono, merkkejä tai jopa muuttujia.
Palautustyyppi: Palauttaa muotoillun merkkijonon, jonka parametrina välitetty arvo on paikkamerkkiasemassa.
String Format() Python-esimerkissä
Python String format() -menetelmän yksinkertainen esittely Python.
Python 3
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)> |
>
>
Lähtö
My name is Ram and I am 22 years old. 22 is my favorite number.>
Käytä .Format()-menetelmää
Tämä sisäänrakennetun merkkijonoluokan menetelmä tarjoaa toiminnallisuuden monimutkaisiin muuttujien korvauksiin ja arvojen muotoiluun. Tätä uutta muotoilutekniikkaa pidetään tyylikkäämpänä. Format()-metodin yleinen syntaksi on string.format(muuttuja1, muuttuja2,…). Täällä yritämme ymmärtää, kuinka muotoilla merkkijono, joka sisältää kiharat aaltosulkeet Python .
Python 3
txt>=> 'I have {an:.2f} Rupees!'> print>(txt.>format>(an>=> 4>))> |
>
>
Lähtö
I have 4.00 Rupees!>
Yksittäisen muotoilun käyttäminen
Tässä esimerkissä käytämme merkkijonohakasulkujen notaatio ohjelma osoittaa str. format() -menetelmä. Muotoilijat toimivat lisäämällä yhden tai useampia korvaavia kenttiä ja paikkamerkkejä, jotka on määritelty kihara aaltosulkeilla { } merkkijonoon ja kutsuu str.format() .
Python 3
# 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>))> |
>
css muuttaa kuvan kokoa
>
Lähtö
techcodeview.com, A computer science portal for geeks. This article is written in Python Hello, I am 18 years old!>
Merkkijonomuoto() useilla paikkamerkeillä
Voit käyttää useita kihara aaltosulkeiden paria muotoilun aikana merkkijono Pythonissa . Oletetaan, että lauseessa tarvitaan toinen muuttujakorvaus, joka voidaan tehdä lisäämällä toinen kihara aaltosulkeiden pari ja välittämällä toinen arvo menetelmään. Python korvaa paikkamerkit arvoilla Tilaus.
Syntaksi : { } { } .muoto(arvo1, arvo2)
Parametrit: (arvo1, arvo2) : Voi olla kokonaislukuja, liukulukuvakioita, merkkijonoja, merkkejä ja jopa muuttujia. Ainoa ero on, että format()-metodissa parametreina välitettyjen arvojen lukumäärän on oltava yhtä suuri kuin merkkijonoon luotujen paikkamerkkien lukumäärä.
Virheet ja poikkeukset:
Hakemistovirhe: Ilmenee, kun merkkijonossa on ylimääräinen paikkamerkki, emmekä välittäneet sille mitään arvoa format()-metodissa. Python määrittää tavallisesti paikkamerkit oletusindeksillä järjestyksessä 0, 1, 2, 3… päästäksesi parametreina välitettyihin arvoihin. Joten kun se kohtaa paikkamerkin, jonka indeksissä ei ole parametrina välitettyä arvoa, se heittää IndexErrorin.
Python-ohjelma, joka käyttää useita paikkamerkkejä osoittamaan str.format()-menetelmää.
Python 3
# 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'>))> |
>
>
Lähtö
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>
Merkkijonomuoto() IndexError
Python-ohjelma, joka esittelee Index-virheen paikkamerkkien lukumäärä on neljä, mutta arvoja on ohitettu vain kolme.
Python 3
# parameters in format function.> my_string>=> '{}, is a {} {} science portal for {}'> print>(my_string.>format>(>'techcodeview.com'>,>'computer'>,>'geeks'>))> |
>
>
Lähtö
IndexError: tuple index out of range>
Merkkijonojen muotoilu Escape-sekvenssien avulla
Voit käyttää kahta tai useampaa erityisesti määritettyä merkkiä merkkijonossa muotoillaksesi merkkijonoa tai suorittaaksesi komennon. Näitä merkkejä kutsutaan escape-sarjoiksi. An Pakojakso Pythonissa alkaa kenoviivalla (). Esimerkiksi on pakosarja, jossa n-kirjaimen yleinen merkitys on kirjaimellisesti pakotettu ja sille annetaan vaihtoehtoinen merkitys – uusi rivi.
| Pakojakso | Kuvaus | Esimerkki |
|---|---|---|
| Katkaisee merkkijonon uudeksi riviksi | print('Suunnittelin tämän riimin selittämään ajoissa Kaikki, mitä tiedän') | |
| Lisää vaakasuuntaisen välilehden | print('Aika on arvokas asia') | |
| Tulostaa kenoviivan | print('Katso sen lentävänheilurin heiluessa') | |
| ' | Tulostaa yhden lainauksen | tulosta ('Sillä ei ole väliä kuinka kovaa yrität') |
| Tulostaa kaksoislainauksen | print ('Se on niinepätodellista') | |
| a | pitää kellon ääntä | tulosta ('a') |
Muotoilijat paikka- ja avainsanaargumenteilla
Kun paikkamerkit { } ovat tyhjiä, Python korvaa str.format():n kautta välitetyt arvot järjestyksessä. Str.format()-menetelmässä olevat arvot ovat olennaisesti monikko tietotyypit ja jokaista monikkoon sisältyvää yksittäistä arvoa voidaan kutsua sen indeksinumerolla, joka alkaa indeksinumerolla 0. Nämä indeksinumerot voidaan siirtää aaltosulkeisiin, jotka toimivat paikkamerkkinä alkuperäisessä merkkijonossa.
Syntaksi : {0} {1}.format(sijaintiargumentti, avainsanaargumentti)
Parametrit: (sijaintiargumentti, avainsanaargumentti)
- Positiaalinen_argumentti voivat olla kokonaislukuja, liukulukuvakioita, merkkijonoja, merkkejä ja jopa muuttujia.
- Keyword_argument on olennaisesti muuttuja, joka tallentaa jonkin arvon, joka välitetään parametrina.
Esimerkki: Havainnollistaa muotoilijoiden käyttöä paikkaavaimen argumenteilla.
Python 3
# 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'>))> |
>
>
Lähtö
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>
Kirjoita määrittäminen Pythonissa
Lisää parametreja voidaan sisällyttää syntaksimme aaltosulkeisiin. Käytä muotokoodin syntaksia {kenttä nimi: muunnos} , missä kenttä nimi määrittää str.format()-menetelmän argumentin indeksinumeron ja muunnos viittaa tietotyypin muunnoskoodiin.
Käytetään %s – merkkijonon muunnos str()-komennolla ennen muotoilua
Python 3
print>(>'%20s'> %> (>'geeksforgeeks'>, ))> print>(>'%-20s'> %> (>'Interngeeks'>, ))> print>(>'%.5s'> %> (>'Interngeeks'>, ))> |
>
>
Lähtö
geeksforgeeks Interngeeks Inter>
Käyttää %c – luonne ennen muotoilua
Python 3
type> => 'bug'> result>=> 'troubling'> print>('I wondered why the program was>%>s me. Then> it dawned on me it was a>%>s .'>%> >(result,>type>))> |
>
>
Lähtö
I wondered why the program was troubling me. Thenit dawned on me it was a bug .>
Käytössä %i merkkinen desimaalikokonaisluku ja %d merkkinen desimaalikokonaisluku(kanta-10) ennen muotoilua
Python 3
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))> |
>
>
Lähtö
Amazon is so useful. I tried to lookup mobile and they had a nice one that cost 12000 rupees.>
Toinen hyödyllinen tyypin määrittely
- %sisään etumerkitön desimaalikokonaisluku
- %O oktaalinen kokonaisluku
- f – liukulukunäyttö
- b – binääriluku
- O – oktaaliluku
- %x – heksadesimaali pienillä kirjaimilla 9:n jälkeen
- %X – heksadesimaali isoilla kirjaimilla 9:n jälkeen
- se on – eksponenttimerkintä
Voit myös määrittää muotoilusymbolit . Ainoa muutos on kaksoispisteen (:) käyttö %:n sijaan.
Käytä esimerkiksi %s:n sijaan {:s} ja %d sijaan (:d}
kuinka monta näppäintä näppäimistössä on
Syntaksi : Merkkijono {kentän_nimi:muunnos} Esimerkki.muoto(arvo)
Virheet ja poikkeukset:
Arvovirhe: Tämän menetelmän tyyppimuunnoksen aikana tapahtuu virhe.
Muunna 10 desimaalikokonaisluvut liukulukuvakioksi
Python 3
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>))> |
>
>
Lähtö
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>
Tyyppi Määrittävät virheet
Osoita ValueError tehdessäsi pakotettua tyyppimuunnoksia
Python 3
# 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))'''> |
>
>
Lähtö
ValueError: Unknown format code 'd' for object of type 'float'>
Täytekorvaukset tai välilyöntien luominen
Välien osoittaminen, kun merkkijonoja välitetään parametreina
Oletusarvoisesti merkkijonot tasataan vasemmalle kentässä ja numerot oikealle. Voimme muokata tätä asettamalla kohdistuskoodin kaksoispisteen perään.
< : left-align text in the field ^ : center text in the field>: tasaa teksti oikealle kentässä>
Python 3
# 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'>))> |
>
>
Lähtö:
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********>
Sovellukset
Muotoilijoita käytetään yleensä tietojen järjestämiseen. Muotoilijat näkyvät parhaassa valossa, kun niitä käytetään järjestämään paljon dataa visuaalisella tavalla. Jos näytämme tietokantoja käyttäjille, muotoilijoiden käyttäminen kentän koon kasvattamiseen ja kohdistuksen muokkaamiseen voi tehdä tulosteesta luettavamman.
Esimerkki: Suuren datan järjestämisen havainnollistaminen käyttämällä format()
Python 3
# 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)> |
>
>
Lähtö:
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>
Sanakirjan käyttäminen merkkijonojen muotoiluun
Käytä sanakirjaa arvojen purkamiseen muotoiltavan merkkijonon paikkamerkkeihin. Käytämme periaatteessa ** arvojen purkamiseen. Tämä menetelmä voi olla hyödyllinen merkkijonojen korvaamisessa SQL-kyselyä valmisteltaessa.
Python 3
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))> |
>
>
Lähtö:
My name is Tony Howard Stark AKA the Iron Man.>
Python-muoto() luettelolla
Liukuarvojen luettelon avulla tehtävänä on katkaista kaikki liukuarvot 2 desimaalin tarkkuudella. Katsotaanpa erilaisia tapoja suorittaa tehtävä.
Python 3
# 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)> |
>
>
Lähtö
['100.77', '17.23', '60.99', '300.84']>