logo

Python | Tulosteen muotoilu

Pythonissa on useita tapoja esittää ohjelman tulos. Tiedot voidaan tulostaa ihmisen luettavassa muodossa tai kirjoittaa tiedostoon myöhempää käyttöä varten tai jopa jossain muussa määritellyssä muodossa. Käyttäjät haluavat usein enemmän hallita tulosteen muotoilua kuin pelkkä välilyönnillä eroteltujen arvojen tulostaminen.

Tulosteen muotoilu Pythonissa

On olemassa useita tapoja muotoilla tulostetta käyttämällä String Method in -toimintoa Python .



  • String Modulo Operatorin käyttäminen (%)
  • Muotoilumenetelmän käyttäminen
  • Merkkijonomenetelmän käyttäminen
  • Pythonin muotomuunnossääntö

Tulosteen muotoilu String Modulo Operatorilla (%)

The % operaattorimoduuli voidaan käyttää myös merkkijonojen muotoiluun. Se tulkitsee vasenta argumenttia aivan kuten printf()-tyylinen muoto, koska C-kielen merkkijonoja käytetään oikeaan argumenttiin. Pythonissa ei ole printf()-funktiota, mutta vanhan printf:n toiminnallisuus sisältyy siihen Python . Tätä tarkoitusta varten merkkijonoluokka ylikuormittaa modulo-operaattorin % merkkijonomuotoilun suorittamiseksi. Siksi sitä kutsutaan usein merkkijono modulo (tai joskus jopa modulus) -operaattoriksi. Merkkijono modulo-operaattori ( % ) on edelleen saatavilla Pythonissa (3.x) ja sitä käytetään laajalti. Mutta nykyään vanha muotoilutyyli on poistettu kielestä.

Python 3








# Python program showing how to use string modulo operator(%)> print>(>'Geeks : %2d, Portal : %5.2f'> %> (>1>,>05.333>))> print>(>'Total students : %3d, Boys : %2d'> %> (>240>,>120>))># print integer value> print>(>'%7.3o'> %> (>25>))># print octal value> print>(>'%10.3E'> %> (>356.08977>))># print exponential value>

>

>

Lähtö

Geeks : 1, Portal : 5.33 Total students : 240, Boys : 120 031 3.561E+02>
Tulosteen muotoilu String Modulo Operatorilla (%)

Tulosteen muotoilu Modulo Operatorilla

Esimerkissämme niitä on kaksi: %2d ja %5.2f. Muotopaikkamerkin yleinen syntaksi on:

offset-korkeus
 %[flags][width][.precision]type>

Katsotaanpa esimerkissämme olevia paikkamerkkejä.

  • Ensimmäistä paikkamerkkiä '%2d' käytetään monikkomme ensimmäiselle komponentille, eli kokonaisluvulle 1. Se tulostetaan 2 merkillä, ja koska 1 koostuu vain yhdestä numerosta, tulosteen alussa on 1 tyhjä.
  • Toinen paikkamerkki '%5.2f' on liukulukulle. Kuten muutkin paikkamerkit, se otetaan käyttöön %-merkillä. Se määrittää merkkijonon sisältämien numeroiden kokonaismäärän, mukaan lukien desimaalipiste ja kaikki numerot, sekä ennen desimaalipistettä että sen jälkeen.
  • Kelluunumeromme 05.333 on muotoiltu 5 merkillä ja 2:n tarkkuudella, joka on merkitty paikkamerkin '.' jälkeen olevalla numerolla. Viimeinen merkki 'f' osoittaa, että paikkamerkki edustaa kelluvaa arvoa.

Tulosteen muotoilu Muotoilumenetelmällä

Format()-menetelmä lisättiin Pythonissa (2.6). Merkkijonojen muotoilumenetelmä vaatii enemmän manuaalista työtä. Käyttäjät käyttävät {}-merkkiä muuttujan korvaamisen paikkaan ja voivat antaa yksityiskohtaisia ​​muotoiluohjeita, mutta käyttäjän on myös annettava muotoiltavat tiedot. Tämän menetelmän avulla voimme ketjuttaa elementtejä tulosteen sisällä sijaintimuotoilun avulla. Esimerkiksi -

Esimerkki 1: Koodi selittää erilaisia ​​Python-merkkijonomuotoilutekniikoita. Arvot joko annetaan eksplisiittisesti tai niihin viitataan siinä järjestyksessä, jossa ne esiintyvät format()-proseduurissa.f-Strings mahdollistaa kaarevien aaltosulkujen ja f-etuliitteen käytön lausekkeiden upottamiseksi merkkijonon sisään kirjaimellisia. F-Stringien lausekkeet arvioidaan ja niille korvataan sopivat arvot.

Python 3


python-ohjelmat



print>(>'I love {} for '{}!''>.>format>(>'Geeks'>,>'Geeks'>))> # using format() method and referring a position of the object> print>(>'{0} and {1}'>.>format>(>'Geeks'>,>'Portal'>))> print>(>'{1} and {0}'>.>format>(>'Geeks'>,>'Portal'>))> print>(f>'I love {'Geeks'} for '{'Geeks'}!''>)> # using format() method and referring a position of the object> print>(f>'{'Geeks'} and {'Portal'}'>)>

>

>

Lähtö

I love Geeks for 'Geeks!' Geeks and Portal Portal and Geeks I love Geeks for 'Geeks!' Geeks and Portal>

Hakasulkeet ja niiden sisällä olevat merkit (ns muotokenttiä ) korvataan format()-menetelmään siirretyillä objekteilla. Suluissa olevaa numeroa voidaan käyttää viittaamaan format()-menetelmään siirretyn objektin sijaintiin.

Esimerkki 2: Paikkaparametrien ja ensimmäisellä rivillä olevan nimetyn argumentin ('other') avulla arvot 'Geeks', 'For' ja 'Geeks' lisätään merkkijonomalliin.'Geeks:12, Portal: 0,55' tulostetaan siten, että ensimmäinen arvo näkyy 2-numeroisena kokonaislukuna ja toisessa numerossa on 2 desimaaleja ja 8-bittinen leveys. Format()-metodin nimetyt argumentit, jotka on merkitty erityisillä tunnisteilla ('a' ja 'p') numeroille '453' ja '59.058',

Python 3




# combining positional and keyword arguments> print>(>'Number one portal is {0}, {1}, and {other}.'> >.>format>(>'Geeks'>,>'For'>, other>=>'Geeks'>))> # using format() method with number> print>(>'Geeks :{0:2d}, Portal :{1:8.2f}'>.> >format>(>12>,>00.546>))> # Changing positional argument> print>(>'Second argument: {1:3d}, first one: {0:7.2f}'>.> >format>(>47.42>,>11>))> print>(>'Geeks: {a:5d}, Portal: {p:8.2f}'>.> >format>(a>=> 453>, p>=> 59.058>))>

>

>

Lähtö

Number one portal is Geeks, For, and Geeks. Geeks :12, Portal : 0.55 Second argument: 11, first one: 47.42 Geeks: 453, Portal: 59.06>

Seuraava kaavio, jossa on esimerkki käytöstä, kuvaa, kuinka muotomenetelmä toimii sijaintiparametreille:

Tulosteen muotoilu Muotoilumenetelmällä

Tulostusmuotoilu Format-menetelmällä

Esimerkki 3: Koodi näyttää, kuinka sanakirjoja käytetään Pythonin format()-menetelmällä. Ensimmäisen esimerkin sanakirjan välilehdellä on avaimet ja niihin liittyvät arvot. Format()-menetelmä käyttää indeksointia arvojen lisäämiseen merkkijonomalliin. Toisessa esimerkissä tietona käytetään sanakirjan nimettyjä avaimia.

Python 3




ctc täysi lomake
tab>=> {>'geeks'>:>4127>,>'for'>:>4098>,>'geek'>:>8637678>}> # using format() in dictionary> print>(>'Geeks: {0[geeks]:d}; For: {0[for]:d}; '> >'Geeks: {0[geek]:d}'>.>format>(tab))> data>=> dict>(fun>=>'GeeksForGeeks'>, adj>=>'Portal'>)> print>(>'I love {fun} computer {adj}'>.>format>(>*>*>data))>

>

>

Lähtö

Geeks: 4127; For: 4098; Geeks: 8637678 I love GeeksForGeeks computer Portal>

Tulosteen muotoilu merkkijonomenetelmällä

Tämä tuloste alustetaan käyttämällä merkkijonomenetelmä ts. viipalointi- ja ketjutusoperaatiot. Merkkijonotyypissä on joitain menetelmiä, jotka auttavat muotoilemaan tulosteen hienostuneella tavalla. Jotkut menetelmät, jotka auttavat tulosteen muotoilussa, ovat str.light() , str.rjust() , ja str.keskus()

Python 3




cstr>=> 'I love geeksforgeeks'> # Printing the center aligned string with fillchr> print>(>'Center aligned string with fillchr: '>)> print>(cstr.center(>40>,>'#'>))> # Printing the left aligned string with '-' padding> print>(>'The left aligned string is : '>)> print>(cstr.ljust(>40>,>'-'>))> # Printing the right aligned string with '-' padding> print>(>'The right aligned string is : '>)> print>(cstr.rjust(>40>,>'-'>))>

>

>

Lähtö

Center aligned string with fillchr: ##########I love geeksforgeeks########## The left aligned string is : I love geeksforgeeks-------------------- The right aligned string is : --------------------I love geeksforgeeks>

Pythonin muotomuunnossääntö

Tässä taulukossa luetellaan Pythonin format()-funktion käyttämät vakiomuotojen muunnosohjeet.

Muuntaminen

Merkitys

ahma vs mäyrä

d

Desimaalikokonaisluku

b

Binäärimuoto

O

matriisi lajiteltu javassa

oktaalimuoto

sisään

Vanhentunut ja vastaa 'd'

x tai X

Heksadesimaalimuoto

e tai E

Eksponentiaalinen merkintä

f tai F

Liukuluku desimaali

g tai G

Yleinen muoto

c

Yksittäinen hahmo

r

Merkkijonomuoto (käyttäen repr())

s

Merkkijonomuoto(käyttäen str()))

%

Prosenttiosuus