V Pythonu existuje několik způsobů, jak prezentovat výstup programu. Data mohou být vytištěna ve formě čitelné pro člověka nebo zapsána do souboru pro budoucí použití, nebo dokonce v nějaké jiné specifikované formě. Uživatelé často chtějí mít větší kontrolu nad formátováním výstupu, než jen tisknout hodnoty oddělené mezerou.
dijkstra
Výstupní formátování v Pythonu
Existuje několik způsobů, jak formátovat výstup pomocí String Method in Krajta .
- Použití operátoru String Modulo (%)
- Použití metody formátování
- Použití String Method
- Pythonovo pravidlo pro převod formátu
Výstup formátování pomocí operátoru String Modulo (%)
The % operátorského modulu lze také použít pro formátování řetězců. Interpretuje levý argument podobně jako formát ve stylu printf() jako v řetězcích v jazyce C, aby byl aplikován na pravý argument. V Pythonu neexistuje funkce printf(), ale funkce starověkého printf je obsažena v Krajta . Za tímto účelem je operátor modulo % přetížen třídou string, aby provedl formátování řetězce. Proto se mu často říká řetězcový modulo (nebo někdy dokonce modulový) operátor. Operátor string modulo ( % ) je stále dostupný v Pythonu(3.x) a je široce používán. Ale dnes je starý styl formátování z jazyka odstraněn.
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ýstup
Geeks : 1, Portal : 5.33 Total students : 240, Boys : 120 031 3.561E+02>

Výstupní formátování pomocí Modulo Operator
V našem příkladu jsou dva z nich: %2d a %5.2f. Obecná syntaxe zástupného symbolu formátu je:
%[flags][width][.precision]type>
Podívejme se na zástupné symboly v našem příkladu.
- První zástupný symbol ‚%2d‘ se používá pro první složku naší n-tice, tj. celé číslo 1. Bude vytištěno se 2 znaky, a protože 1 se skládá pouze z jedné číslice, výstup je doplněn 1 úvodní mezerou.
- Druhý zástupný symbol ‚%5.2f‘ je pro číslo s plovoucí desetinnou čárkou. Stejně jako ostatní zástupné symboly je uveden znakem %. Určuje celkový počet číslic, které by měl řetězec obsahovat, včetně desetinné čárky a všech číslic před i za desetinnou čárkou.
- Naše plovoucí číslo 05.333 je naformátováno na 5 znaků s přesností na 2 a je označeno číslem za „.“ v zástupném symbolu. Poslední znak „f“ označuje, že zástupný symbol představuje plovoucí hodnotu.
Formátování výstupu pomocí metody formátování
Metoda format() byla přidána do Pythonu(2.6). Metoda formátování řetězců vyžaduje více manuálního úsilí. Uživatelé používají {} k označení místa, kde bude proměnná nahrazena, a mohou poskytnout podrobné pokyny pro formátování, ale uživatel také musí poskytnout informace, které mají být formátovány. Tato metoda nám umožňuje zřetězit prvky ve výstupu pomocí pozičního formátování. Například -
Příklad 1: Kód vysvětluje různé techniky formátování řetězců Pythonu. Hodnoty jsou buď explicitně dodány, nebo se na ně odkazuje v pořadí, v jakém se objevují v proceduře format().f-Strings umožňují použití složených závorek a předpony f k vložení výrazů do řetězce literály. Výrazy f-Strings jsou posouzeny a jejich vhodné hodnoty jsou nahrazeny.
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ýstup
I love Geeks for 'Geeks!' Geeks and Portal Portal and Geeks I love Geeks for 'Geeks!' Geeks and Portal>
Závorky a znaky v nich (tzv formátovat pole ) jsou nahrazeny objekty předanými do metody format(). Číslo v hranatých závorkách lze použít k označení pozice objektu předávaného do metody format().
Příklad 2: Pomocí pozičních parametrů a pojmenovaného argumentu ('other') v prvním řádku jsou do šablony řetězce přidány hodnoty 'Geeks', 'For' a 'Geeks'.'Geeks:12, Portal: 0.55′ se vytiskne, přičemž první hodnota se zobrazí jako 2místné celé číslo a druhé číslo má 2 desetinná místa a šířku 8 bitů. Pojmenované argumenty metody format() označené konkrétními štítky („a“ a „p“) pro čí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>))> |
>
co je java hashmap
>
Výstup
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>
Následující diagram s příkladem použití ukazuje, jak metoda formátu funguje pro poziční parametry:

Výstupní formátování pomocí metody Formát
Příklad 3: Kód ukazuje, jak používat slovníky s metodou format() Pythonu. „Záložka“ slovníku v prvním příkladu má klíče a přidružené hodnoty. Metoda format() používá indexování k vložení hodnot do šablony řetězce. Ve druhém příkladu se jako data používají pojmenované klíče ve 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ýstup
Geeks: 4127; For: 4098; Geeks: 8637678 I love GeeksForGeeks computer Portal>
Formátování výstupu pomocí metody String
Tento výstup je formátován pomocí řetězcová metoda, tj. operace krájení a zřetězení. Řetězcový typ má některé metody, které pomáhají při formátování výstupu lepším způsobem. Některé metody, které pomáhají při formátování výstupu, jsou str.light() , str.rjust() , a str.centre()
Python3
data mining
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ýstup
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 pravidlo pro převod formátu
Tato tabulka uvádí standardní pokyny pro převod formátu používané funkcí format() Pythonu.
| Konverze | Význam |
|---|---|
| d | Desetinné celé číslo |
| b | Binární formát |
| Ó | osmičkový formát |
| v | Zastaralé a ekvivalentní „d“ herec saira banu |
| x nebo X | Hexadecimální formát |
| e nebo E | Exponenciální zápis |
| f nebo F | S pohyblivou desetinnou čárkou |
| g nebo G | Obecný formát |
| C | Jedna postava |
| r | Formát řetězce (pomocí repr()) |
| s | Formát řetězce (pomocí str())) |
| % | Procento |