V tej vadnici se bomo naučili formatirati izhod. Oblikovanje in izpis se nanašata na predstavitev izhoda programa. Izpis lahko oblikujemo v človeku berljivo obliko ali podatke zapišemo v datoteko in drugo določeno obliko. Včasih moramo nadzorovati prihajajoči izhod, da ga lahko oblikujemo v skladu z našimi zahtevami. Uporabniki lahko upravljajo nize z uporabo rezanja nizov in operacij združevanja, da ustvarijo poljubno postavitev.
Izpis lahko formatirate na različne načine.
- Za formatiranje nizovnih literalov lahko uporabimo metodo niza f.
- The format() metoda nizov pomaga uporabniku ustvariti bolj domiseln rezultat.
- Izvajamo lahko tudi operacije veriženja nizov, da ustvarimo poljubno postavitev. Razred nizov ima tudi nekaj metod, ki izvajajo uporabne operacije za zapolnitev nizov do dane širine stolpca.
Oblikovanje izhoda z uporabo nizovnega modulnega operaterja (%)
Operator % nam pomaga oblikovati niz. Levi argument razlaga kot printf() formatni niz, uporabljen za desni argument. Python ne zagotavlja printf() funkcijo. V ta namen je operator modulo preobremenjen z razredom nizov za izvajanje oblikovanja nizov. Znan je tudi kot operator String Modulo.
Operator nizovnega modula je še vedno na voljo v Pythonu (3.x) in se pogosto uporablja, vendar je dandanes stari slog oblikovanja odstranjen iz jezika.
Razumejmo naslednji primer -
Primer -
#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))
Izhod:
integer : 1, float : 5.33 Total Player : 24, Batsman : 12 062 4.56E+02
Pojasnilo -
V zgornji kodi je '%2d' ograda, ki uporablja prvi element tuple. Natisne dva znaka. Za opis oblike zapisa števila s plavajočim se uporablja '%5.2f'. Prav tako je predstavljen z znakom %, kot drugi nadomestni znaki. Prikazuje skupno število nizov, ki jih lahko vsebuje. Decimalni del števila ali natančnost je nastavljena na 2, število, ki sledi '.' v nadomestnem mestu. Zadnji znak 'f' prikazuje število s plavajočim delom.
Oblikovanje izpisa z uporabo metode formatiranja
The format() metoda zahteva več ročnega napora kot druge metode. Za označevanje zamenjave spremenljivk in zagotavljanje podrobnih navodil za oblikovanje uporabljamo {}, vendar moramo zagotoviti tudi oblikovane informacije. Številko v oklepajih lahko uporabimo kot pozicijsko oblikovanje. Razumejmo naslednji primer.
Primer -
# 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'))
Izhod:
Hello World Welcome to JavaTpoint JavaTpoint to Welcome
Oklepaji in znaki znotraj postavke se imenujejo polja oblikovanja, ki so nadomeščena s predmetom, posredovanim v format() metoda. Številko v oklepajih lahko uporabite za sklicevanje na položaj predmeta, ki je bil posredovan metodi format().
Razumejmo še en primer -
Primer -
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))
Izhod:
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
Primer - 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))
Izhod:
Java: 4127; For: 4098; Java: 4127 I love JavaTpoint Website
Oblikovanje izpisa z metodo nizov
Izhod lahko tudi formatiramo z operacijami rezanja nizov in veriženja. Vrsta niza ima nekaj metod, ki pomagajo oblikovati izpis na bolj domiseln način. Nekaj metod, ki pomagajo pri oblikovanju izpisa - str.light(), str.rjust(), in str.centre(). Razumejmo naslednji primer -
Primer -
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, '-'))
Izhod:
Center aligned string with fillchr: $$$$$$I love JavaTpoint$$$$$$$ The left aligned string is: I love JavaTpoint&&&&&&&&&&&&&&&&&&&&&&& The right aligned string is : -----------------------I love JavaTpoint
Pravilo pretvorbe formatov v Python
Spodaj je tabela pretvorbe in njen pomen.
Pretvorba | Pomen |
---|---|
d | Predstavlja decimalno celo število s predznakom. |
jaz | Predstavlja decimalno celo število s predznakom. |
O | Predstavlja osmiško brez predznaka. |
v | Predstavlja zastarelo in enakovredno 'd', tj. decimalno celo število s predznakom. |
x | Predstavlja nepredznačeno šestnajstiško (male črke). |
X | Predstavlja nepredznačeno šestnajstiško (veliko) črko. |
je | Predstavlja eksponentni format s plavajočo vejico (male črke). |
IN | Predstavlja eksponentni format s plavajočo vejico (velike črke). |
f | Predstavlja decimalni format s plavajočo vejico. |
F | Predstavlja decimalni format s plavajočo vejico. |
g | Predstavlja Enako kot 'e', če je eksponent večji od -4 ali manjši od natančnosti, sicer 'f'. |
G | Predstavlja Enako kot 'E', če je eksponent večji od -4 ali manjši od natančnosti, sicer 'F'. |
c | Predstavlja en znak (sprejme celo število ali niz z enim znakom). |
r | Predstavlja niz (pretvori kateri koli objekt python z uporabo repr()). |
s | Predstavlja niz (pretvori kateri koli objekt python z uporabo str()). |
% | Predstavlja Noben argument ni pretvorjen, rezultat je znak »%« v rezultatu. |
Zaključek
Razpravljali smo o tem, kako formatirati izhod v Pythonu. Opisali smo različne tehnike skupaj s primeri. Python nudi možnost spreminjanja izhoda v skladu z zahtevami. Uporabniki lahko uporabijo niz oz format() metode s pozicijskimi argumenti. Ta vadnica je vključevala tudi tabelo s pravili pretvorbe.