V Pythone existuje niekoľko spôsobov, ako prezentovať výstup programu. Dáta môžu byť vytlačené vo forme čitateľnej pre človeka alebo zapísané do súboru pre budúce použitie alebo dokonca v inej špecifikovanej forme. Používatelia často chcú väčšiu kontrolu nad formátovaním výstupu, než len tlačenie hodnôt oddelených medzerou.
Výstupné formátovanie v Pythone
Existuje niekoľko spôsobov, ako formátovať výstup pomocou String Method in Python .
- Použitie operátora String Modulo (%)
- Použitie metódy formátovania
- Použitie String Method
- Pravidlo konverzie formátu Pythonu
Výstup formátovania pomocou operátora String Modulo (%)
The % operátorského modulu možno použiť aj na formátovanie reťazcov. Interpretuje ľavý argument podobne ako formát v štýle printf() ako v reťazcoch jazyka C, ktorý sa použije na pravý argument. V Pythone neexistuje funkcia printf(), ale je obsiahnutá funkčnosť starodávneho printf Python . Na tento účel je operátor modulo % preťažený triedou reťazca, aby vykonal formátovanie reťazca. Preto sa často nazýva reťazcový modulo (alebo niekedy dokonca modulový) operátor. Operátor string modulo ( % ) je stále dostupný v Pythone(3.x) a je široko používaný. Ale v súčasnosti je starý štýl formátovania z jazyka odstránený.
Python3
# 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> |
>
>
Výkon
Geeks : 1, Portal : 5.33 Total students : 240, Boys : 120 031 3.561E+02>

Formátovanie výstupu pomocou operátora Modulo
V našom príklade sú dve z nich: %2d a %5.2f. Všeobecná syntax pre zástupný symbol formátu je:
%[flags][width][.precision]type>
Pozrime sa na zástupné symboly v našom príklade.
- Prvý zástupný znak „%2d“ sa používa pre prvú zložku našej n-tice, t. j. celé číslo 1. Vytlačí sa s 2 znakmi, a keďže 1 pozostáva iba z jednej číslice, výstup je doplnený 1 medzerou na začiatku.
- Druhý zástupný symbol „% 5.2f“ je určený pre pohyblivé číslo. Rovnako ako ostatné zástupné symboly sa uvádza so znakom %. Špecifikuje celkový počet číslic, ktoré by mal reťazec obsahovať, vrátane desatinnej čiarky a všetkých číslic, pred aj za desatinnou čiarkou.
- Naše číslo s pohyblivou čiarou 05.333 je naformátované s 5 znakmi a presnosťou 2, ktoré je označené číslom nasledujúcim za „.“ v zástupnom symbole. Posledný znak „f“ označuje, že zástupný symbol predstavuje plávajúcu hodnotu.
Formátovanie výstupu pomocou metódy formátovania
Metóda format() bola pridaná v Pythone(2.6). Metóda formátovania reťazcov vyžaduje viac manuálneho úsilia. Používatelia používajú {} na označenie miesta, kde bude premenná nahradená, a môžu poskytnúť podrobné pokyny na formátovanie, ale používateľ musí poskytnúť aj informácie, ktoré sa majú formátovať. Táto metóda nám umožňuje zreťaziť prvky vo výstupe prostredníctvom pozičného formátovania. Napríklad -
Príklad 1: Kód vysvetľuje rôzne techniky formátovania reťazcov v jazyku Python. Hodnoty sú buď explicitne poskytnuté, alebo sa na ne odkazuje v poradí, v akom sa objavujú v procedúre format().f-Strings umožňujú použitie zložených zátvoriek a predpony f na vloženie výrazov do reťazca literály. Posúdia sa výrazy f-stringov a nahradia sa ich vhodnými hodnotami.
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'}'>)> |
>
>
Výkon
I love Geeks for 'Geeks!' Geeks and Portal Portal and Geeks I love Geeks for 'Geeks!' Geeks and Portal>
Zátvorky a znaky v nich (tzv formátovať polia ) sú nahradené objektmi odovzdanými do metódy format(). Číslo v zátvorkách možno použiť na označenie polohy objektu odovzdaného do metódy format().
Príklad 2: Pomocou pozičných parametrov a pomenovaného argumentu ('other') v prvom riadku sa do šablóny reťazca pridajú hodnoty 'Geeks', 'For' a 'Geeks'.'Geeks:12, Portal: 0.55′ sa vytlačí, pričom prvá hodnota sa zobrazí ako 2-miestne celé číslo a druhé číslo má 2 desatinné miesta a 8-bitovú šírku. Pomenované argumenty metódy format() označené špecifickými menovkami („a“ a „p“) pre čísla „453“ a „59.058“,
Python3
# 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>))> |
>
>
Výkon
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>
Nasledujúci diagram s príkladom použitia znázorňuje, ako metóda formátu funguje pre pozičné parametre:

Výstupné formátovanie pomocou metódy formátovania
Príklad 3: Kód ukazuje, ako používať slovníky s metódou format() Pythonu. „Záložka“ slovníka v prvom príklade obsahuje kľúče a priradené hodnoty. Metóda format() používa indexovanie na vloženie hodnôt do šablóny reťazca. V druhom príklade sa ako údaje používajú pomenované kľúče v slovníku.
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))> |
>
>
Výkon
zásielkový prechod
Geeks: 4127; For: 4098; Geeks: 8637678 I love GeeksForGeeks computer Portal>
Formátovanie výstupu pomocou metódy String
Tento výstup je naformátovaný pomocou reťazcová metóda t.j. operácie krájania a zreťazenia. Typ reťazca má niekoľko metód, ktoré pomáhajú pri formátovaní výstupu krajším spôsobom. Niektoré metódy, ktoré pomáhajú pri formátovaní výstupu, sú str.light() , str.rjust() , a 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>,>'-'>))> |
>
>
Výkon
Center aligned string with fillchr: ##########I love geeksforgeeks########## The left aligned string is : I love geeksforgeeks-------------------- The right aligned string is : --------------------I love geeksforgeeks>
Pravidlo konverzie formátu Pythonu
Táto tabuľka uvádza štandardné pokyny na konverziu formátu, ktoré používa funkcia format() Pythonu.
| Konverzia | Význam |
|---|---|
| d | Desatinné celé číslo |
| b | Binárny formát |
| O | osmičkový formát |
| v | Zastarané a ekvivalentné s „d“ |
| x alebo X | Hexadecimálny formát |
| e alebo E | Exponenciálny zápis |
| f alebo F | Desatinné číslo s pohyblivou rádovou čiarkou |
| g alebo G | Všeobecný formát |
| c | Single Character |
| r | Formát reťazca (pomocou repr()) |
| s | Formát reťazca (pomocou str())) |
| % | Percento |