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

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 |