logo

Výstupné formátovanie Pythonu

V tomto návode sa naučíme formátovať výstup. Formátovanie a výstup odkazujú na prezentáciu výstupu programu. Výstup môžeme naformátovať do podoby čitateľnej pre človeka alebo zapísať údaje do súboru a inej špecifikovanej formy. Niekedy potrebujeme kontrolovať prichádzajúci výstup, aby sme ho mohli naformátovať podľa našich požiadaviek. Používatelia môžu spracovávať reťazce pomocou operácií rezania reťazcov a zreťazenia na vytvorenie ľubovoľného rozloženia.

Existujú rôzne spôsoby formátovania výstupu.

  • Na formátovanie reťazcových literálov môžeme použiť metódu f string.
  • The formát() metóda reťazcov pomáha používateľovi vytvoriť lepší výstup.
  • Môžeme tiež vykonať operácie zreťazenia reťazcov na vytvorenie ľubovoľného rozloženia. Trieda string má tiež niektoré metódy, ktoré vykonávajú užitočné operácie na dopĺňanie reťazcov na danú šírku stĺpca.

Výstup formátovania pomocou operátora String Modulo (%)

Operátor % nám pomáha formátovať reťazec. Interpretuje ľavý argument ako printf() formátovací reťazec použitý na správny argument. Python neposkytuje printf() funkciu. Na tento účel je operátor modulo preťažený triedou reťazca, aby vykonal formátovanie reťazca. Je tiež známy ako operátor String Modulo.

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ý.

Poďme pochopiť nasledujúci príklad -

Príklad -

 #integer and float value print('integer : % 2d, float : % 5.2f' %(1, 05.333)) #integer value print('Total Player : % 3d, Batsman : % 2d' %(24, 12)) #octal value print('% 5.3o'% (50)) #exponential value print('% 10.2E'% (456.1458)) 

Výkon:

zásielkový prechod
 integer : 1, float : 5.33 Total Player : 24, Batsman : 12 062 4.56E+02 

vysvetlenie -

Vo vyššie uvedenom kóde je '%2d' zástupný symbol, ktorý používa prvý prvok n-tice. Vytlačí dva znaky. Pre popis formátu čísla s pohyblivou čiarou sa používa '%5.2f'. Zavádza sa tiež znakom % ako ostatné zástupné symboly. Zobrazuje celkový počet reťazcov, ktoré môže obsahovať. Desatinná časť čísla alebo presnosť je nastavená na 2, pričom číslo nasleduje „.“ v zástupnom symbole. Posledný znak, 'f' ukazuje číslo s pohyblivou čiarou.

Formátovanie výstupu pomocou metódy formátovania

The formát() metóda vyžaduje viac manuálneho úsilia ako iné metódy. {} používame na označenie náhrady premenných a poskytujeme podrobné pokyny na formátovanie, ale musíme poskytnúť aj formátované informácie. Ako pozičné formátovanie môžeme použiť číslo v zátvorke. Poďme pochopiť nasledujúci príklad.

Príklad -

 # using format() method print('{} {}'.format('Hello', 'World')) # using format() method and referring # a position of the object print('{0} to {1}'.format('Welcome', 'JavaTpoint')) print('{1} to {0}'.format('Welcome', 'JavaTpoint')) 

Výkon:

 Hello World Welcome to JavaTpoint JavaTpoint to Welcome 

Zátvorky a znaky v položke sa nazývajú polia formátu, ktoré sú nahradené objektom odovzdaným do formát() metóda. Číslo v zátvorkách možno použiť na označenie pozície objektu odovzdanej do metódy format().

Poďme pochopiť ďalší príklad -

Príklad -

 print('Number one position is {0}, {1}, and {other}.' .format('Java', 'T', other ='Point')) # using format() method with number print('Java :{0:2d}, Tpoint :{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('Java: {a:5d}, Tpoint: {p:8.2f}'. format(a = 453, p = 59.058)) 

Výkon:

 Number one position is Java, T, and Point. Java :12, Tpoint : 0.55 Second argument: 11, first one: 47.42 Java: 453, Tpoint: 59.06 

Príklad – 3:

 tab = {'Java': 4127, 'T': 4098, 'point': 8637678} # using format() in dictionary print('Java: {0[Java]:d}; For: {0[T]:d}; ' 'Java: {0[Java]:d}'.format(tab)) data = dict(fun ='JavaTpoint', adj ='Website') # using format() in dictionary print('I love {fun} {adj}'.format(**data)) 

Výkon:

 Java: 4127; For: 4098; Java: 4127 I love JavaTpoint Website 

Formátovanie výstupu pomocou String Method

Výstup môžeme naformátovať aj pomocou operácií rezania reťazcov a zreťazenia. Typ reťazca má niekoľko metód, ktoré pomáhajú formátovať výstup krajším spôsobom. Niekoľko metód, ktoré pomáhajú pri formátovaní výstupu - str.light(), str.rjust(), a str.centre(). Poďme pochopiť nasledujúci príklad -

Príklad -

 str1 = 'I love JavaTpoint' # Printing the center aligned # string with fillchr print ('Center aligned string with fillchr: ') print (str1.center(30, '$')) # Printing the left aligned # string with '-' padding print ('The left aligned string is : ') print (str1.ljust(40, '&')) # Printing the right aligned string # with '-' padding print ('The right aligned string is : ') print (str1.rjust(40, '-')) 

Výkon:

 Center aligned string with fillchr: $$$$$$I love JavaTpoint$$$$$$$ The left aligned string is: I love JavaTpoint&&&&&&&&&&&&&&&&&&&&&&& The right aligned string is : -----------------------I love JavaTpoint 

Pravidlo konverzie formátu v Pythone

Nižšie je uvedená tabuľka konverzie a jej význam.

Konverzia Význam
d Predstavuje celé desatinné číslo so znamienkom.
i Predstavuje celé desatinné číslo so znamienkom.
O Predstavuje osmičkovú číslicu bez znamienka.
v Predstavuje zastarané a ekvivalentné 'd', t. j. celé desatinné číslo so znamienkom.
X Predstavuje šestnástkovú sústavu bez znamienka (malé písmená).
X Predstavuje hexadecimálnu sústavu bez znamienka (veľké písmená).
to je Predstavuje exponenciálny formát s pohyblivou rádovou čiarkou (malé písmená).
A Predstavuje exponenciálny formát s pohyblivou rádovou čiarkou (veľké písmená).
f Predstavuje formát s pohyblivou desatinnou čiarkou.
F Predstavuje formát s pohyblivou desatinnou čiarkou.
g Predstavuje Rovnaké ako „e“, ak je exponent väčší ako -4 alebo menší ako presnosť, inak „f“.
G Predstavuje Rovnaké ako „E“, ak je exponent väčší ako -4 alebo menší ako presnosť, inak „F“.
c Predstavuje jeden znak (akceptuje celé číslo alebo jeden znakový reťazec).
r Predstavuje String (konvertuje akýkoľvek objekt pythonu pomocou repr()).
s Predstavuje String (konvertuje akýkoľvek objekt pythonu pomocou str()).
% Predstavuje Neprevádza sa žiadny argument, výsledkom je znak '%' vo výsledku.

Záver

Diskutovali sme o tom, ako formátovať výstup v Pythone. Opísali sme rôzne techniky spolu s príkladmi. Python poskytuje možnosť upraviť výstup podľa požiadaviek. Používatelia môžu použiť reťazec resp formát() metódy s pozičnými argumentmi. Tento tutoriál tiež obsahoval tabuľku pravidiel konverzie.