În Python, există mai multe moduri de a prezenta rezultatul unui program. Datele pot fi tipărite într-o formă care poate fi citită de om sau scrise într-un fișier pentru utilizare ulterioară sau chiar într-o altă formă specificată. Utilizatorii doresc adesea mai mult control asupra formatării rezultatelor decât simpla imprimare a valorilor separate prin spațiu.
Formatarea ieșirii în Python
Există mai multe moduri de a formata ieșirea folosind metoda String în Piton .
- Folosind String Modulo Operator (%)
- Folosind metoda formatului
- Folosind metoda String
- Regula de conversie a formatului Python
Formatarea ieșirii folosind String Modulo Operator (%)
The % modul operator poate fi folosit și pentru formatarea șirurilor. Acesta interpretează argumentul din stânga la fel ca un format în stil printf() ca în șirurile de caractere din limbajul C care urmează să fie aplicate argumentului din dreapta. În Python, nu există nicio funcție printf(), dar funcționalitatea vechiului printf este conținută în Piton . În acest scop, operatorul modulo % este supraîncărcat de clasa șir pentru a efectua formatarea șirului. Prin urmare, este adesea numit operator șir modulo (sau uneori chiar numit modul). Operatorul modulo șir ( % ) este încă disponibil în Python(3.x) și este utilizat pe scară largă. Dar în zilele noastre vechiul stil de formatare este eliminat din limbaj.
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> | 
>
>
Ieșire
Geeks : 1, Portal : 5.33 Total students : 240, Boys : 120 031 3.561E+02>

Formatarea ieșirii folosind Modulo Operator
Există două dintre acestea în exemplul nostru: %2d și %5.2f. Sintaxa generală pentru un substituent de format este:
%[flags][width][.precision]type>
Să aruncăm o privire la substituenții din exemplul nostru.
- Primul substituent „%2d” este folosit pentru prima componentă a tuplului nostru, adică întregul 1. Acesta va fi tipărit cu 2 caractere și, deoarece 1 constă dintr-o singură cifră, rezultatul este completat cu 1 necomplet.
- Al doilea substituent „%5.2f” este pentru un număr flotant. Ca și alți substituenți, este introdus cu caracterul %. Specifică numărul total de cifre pe care trebuie să le conțină șirul, inclusiv punctul zecimal și toate cifrele, atât înainte, cât și după virgulă.
- Numărul nostru flotant 05.333 este formatat cu 5 caractere și o precizie de 2, notat cu numărul care urmează după „.” în substituent. Ultimul caracter „f” indică faptul că substituentul reprezintă o valoare flotantă.
Formatarea ieșirii folosind metoda de formatare
Metoda format() a fost adăugată în Python(2.6). Metoda de formatare a șirurilor necesită mai mult efort manual. Utilizatorii folosesc {} pentru a marca locul unde va fi înlocuită o variabilă și pot oferi directive detaliate de formatare, dar utilizatorul trebuie să furnizeze și informațiile care urmează să fie formatate. Această metodă ne permite să concatenăm elemente într-o ieșire prin formatare pozițională. De exemplu -
Exemplul 1: Codul explică diferite tehnici de formatare a șirurilor Python. Valorile sunt fie furnizate în mod explicit, fie menționate în ordinea în care apar în procedura format() literali. Expresiile f-Strings sunt evaluate și le sunt înlocuite valorile corespunzătoare.
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'}'>)> | 
>
>
Ieșire
I love Geeks for 'Geeks!' Geeks and Portal Portal and Geeks I love Geeks for 'Geeks!' Geeks and Portal>
Parantezele și caracterele din ele (numite    câmpuri de format    ) sunt înlocuite cu obiectele trecute în metoda format(). Un număr dintre paranteze poate fi folosit pentru a se referi la poziția obiectului trecut în metoda format().  
   
    Exemplul 2:    Cu ajutorul parametrilor poziționali și a unui argument numit („altul”) în prima linie, valorile „Geeks”, „For” și „Geeks” sunt adăugate șablonului șir. „Geeks:12, Portal: 0.55′ este tipărită, prima valoare apărând ca un număr întreg de 2 cifre, iar al doilea număr având 2 zecimale și o lățime de 8 biți. Argumentele numite ale metodei format(), notate prin etichete specifice („a” și „p”) pentru numerele „453” și „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>))> | 
>
>
multiplexarea
Ieșire
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>
Următoarea diagramă cu un exemplu de utilizare ilustrează modul în care funcționează metoda de format pentru parametrii poziționali:

Formatarea ieșirii folosind metoda Format
Exemplul 3: Codul arată cum să utilizați dicționarele cu metoda format() a lui Python. „Fila” dicționarului din primul exemplu are chei și valori asociate. Metoda format() folosește indexarea pentru a pune valorile în șablonul șir. În al doilea exemplu, cheile cu nume dintr-un dicționar sunt folosite ca date.
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))> | 
>
>
Ieșire
Geeks: 4127; For: 4098; Geeks: 8637678 I love GeeksForGeeks computer Portal>
Formatarea ieșirii folosind metoda String
Această ieșire este formatată utilizând metoda șirurilor adică operatii de feliere si concatenare. Tipul șir are câteva metode care ajută la formatarea ieșirii într-un mod mai elegant. Unele metode care ajută la formatarea unei ieșiri sunt str.light() , str.rjust() , și 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>,>'-'>))> | 
>
>
Ieșire
Center aligned string with fillchr: ##########I love geeksforgeeks########## The left aligned string is : I love geeksforgeeks-------------------- The right aligned string is : --------------------I love geeksforgeeks>
Regula de conversie a formatului Python
Acest tabel listează liniile directoare standard de conversie a formatului utilizate de funcția format() din Python.
| Conversie | Sens | 
|---|---|
| d | Număr întreg zecimal | 
| b | Format binar | 
| O | format octal | 
| în | Învechit și echivalent cu „d” | 
| x sau X | Format hexazecimal | 
| e sau E | Notă exponențială | 
| f sau F | Decimală cu virgulă mobilă | 
| g sau G | Format general | 
| c | Un singur personaj | 
| r | Format șir (folosind repr()) | 
| s | Format șir (folosind str())) | 
| % | Procent | 
