V Pythonu obstaja več načinov za predstavitev rezultatov programa. Podatke je mogoče natisniti v človeku berljivi obliki ali zapisati v datoteko za prihodnjo uporabo ali celo v kakšni drugi določeni obliki. Uporabniki pogosto želijo več nadzora nad oblikovanjem izpisa kot preprosto tiskanje vrednosti, ločenih s presledki.
Izhodno oblikovanje v Pythonu
Obstaja več načinov za formatiranje izhoda z metodo String Python .
- Uporaba nizovnega modulo operatorja (%)
- Uporaba metode formata
- Uporaba metode nizov
- Pythonovo pravilo za pretvorbo formatov
Oblikovanje izhoda z uporabo string modulo operaterja (%)
The % operaterski modul se lahko uporablja tudi za oblikovanje nizov. Razlaga levi argument podobno kot format v slogu printf(), kot v nizih jezika C, ki se uporabijo za desni argument. V Pythonu ni funkcije printf(), vendar je funkcionalnost starodavnega printf vsebovana v Python . V ta namen je modulo operator % preobremenjen z razredom nizov za izvedbo oblikovanja nizov. Zato se pogosto imenuje nizovni modulo (ali včasih celo modulus) operator. Operator nizovnega modula ( % ) je še vedno na voljo v Python(3.x) in se pogosto uporablja. Toda dandanes je stari slog oblikovanja odstranjen iz jezika.
Python3
popolna tabela resnic seštevalnika
# 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> |
>
>
Izhod
Geeks : 1, Portal : 5.33 Total students : 240, Boys : 120 031 3.561E+02>

Oblikovanje izhoda z uporabo operaterja Modulo
V našem primeru sta dva: %2d in %5.2f. Splošna sintaksa za označbo mesta je:
%[flags][width][.precision]type>
Oglejmo si ogradne oznake v našem primeru.
- Prvi nadomestni znak »%2d« se uporablja za prvo komponento naše tuple, tj. celo število 1. Natisnjeno bo z 2 znakoma in ker je 1 sestavljeno samo iz ene števke, je izpis dopolnjen z 1 začetnim presledkom.
- Drugi nadomestni znak »%5.2f« je za število s plavajočim delom. Tako kot drugi nadomestni znaki je predstavljen z znakom %. Določa skupno število števk, ki jih mora vsebovati niz, vključno z decimalno vejico in vsemi števkami pred in za decimalno vejico.
- Naša številka s plavajočim elementom 05.333 je oblikovana s 5 znaki in natančnostjo 2, označena s številko, ki sledi znaku ».« v nadomestnem mestu. Zadnji znak 'f' označuje, da ograda predstavlja plavajočo vrednost.
Oblikovanje izpisa z metodo formata
Metoda format() je bila dodana v Python(2.6). Metoda oblikovanja nizov zahteva več ročnega truda. Uporabniki uporabljajo {}, da označijo, kje bo spremenljivka nadomeščena, in lahko zagotovijo podrobna navodila za oblikovanje, vendar mora uporabnik zagotoviti tudi informacije, ki jih je treba formatirati. Ta metoda nam omogoča združevanje elementov znotraj izhoda prek pozicijskega oblikovanja. Na primer –
Primer 1: Koda pojasnjuje različne tehnike oblikovanja nizov v Pythonu. Vrednosti so eksplicitno podane ali se nanje nanašajo po vrstnem redu, v katerem so prikazane v proceduri format(). Nizi f omogočajo uporabo zavitih oklepajev in predpone f za vdelavo izrazov znotraj niza literali. Izrazi f-nizov so ocenjeni in njihove ustrezne vrednosti so zamenjane z njimi.
Python3
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'}'>)> |
>
>
Izhod
I love Geeks for 'Geeks!' Geeks and Portal Portal and Geeks I love Geeks for 'Geeks!' Geeks and Portal>
Oklepaji in znaki v njih (imenovani formatna polja ) se nadomestijo s predmeti, posredovanimi v metodo format(). Številko v oklepajih lahko uporabite za sklicevanje na položaj predmeta, posredovanega metodi format().
Primer 2: S pomočjo pozicijskih parametrov in imenovanega argumenta ('other') v prvi vrstici se v predlogo niza dodajo vrednosti 'Geeks', 'For' in 'Geeks'.'Geeks:12, Portal: 0.55′ se natisne, pri čemer je prva vrednost prikazana kot 2-mestno celo število, druga številka pa ima 2 decimalni mesti in 8-bitno širino. Poimenovani argumenti metode format(), označeni s posebnimi oznakami ('a' in 'p') za številki '453' in '59.058',
Python3
ročno testiranje
# 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>))> |
>
>
Izhod
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>
Naslednji diagram s primerom uporabe prikazuje, kako metoda oblikovanja deluje za pozicijske parametre:

Oblikovanje izhoda z metodo Format
Primer 3: Koda prikazuje, kako uporabljati slovarje s Pythonovo metodo format(). 'Zavihek' slovarja v prvem primeru ima ključe in povezane vrednosti. Metoda format() uporablja indeksiranje za vnos vrednosti v predlogo niza. V drugem primeru so poimenovani ključi v slovarju uporabljeni kot podatki.
Python3
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))> |
>
kontradiktorno iskanje
>
Izhod
Geeks: 4127; For: 4098; Geeks: 8637678 I love GeeksForGeeks computer Portal>
Oblikovanje izhoda z metodo nizov
Ta izhod je oblikovan z uporabo string metoda, tj. operacije rezanja in veriženja. Vrsta niza ima nekaj metod, ki pomagajo pri oblikovanju izpisa na bolj domiseln način. Nekatere metode, ki pomagajo pri oblikovanju izhoda, so str.light() , str.rjust() , in str.centre()
Python3
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>,>'-'>))> |
>
>
Izhod
Center aligned string with fillchr: ##########I love geeksforgeeks########## The left aligned string is : I love geeksforgeeks-------------------- The right aligned string is : --------------------I love geeksforgeeks>
Pythonovo pravilo za pretvorbo formatov
Ta tabela navaja standardne smernice za pretvorbo formata, ki jih uporablja Pythonova funkcija format().
| Pretvorba | Pomen |
|---|---|
| d | Decimalno celo število |
| b kdo je freddie mercury | Binarna oblika |
| O | osmiški format |
| v | Zastarelo in enakovredno 'd' arp ukaz |
| x ali X | Šestnajstiški format |
| e ali E | Eksponentni zapis |
| f ali F | Decimalna številka s plavajočo vejico |
| g ali G | Splošni format |
| c | En sam znak |
| r | Oblika niza (z uporabo repr()) |
| s | Oblika niza (z uporabo str())) |
| % | Odstotek |