logo

Python | Išvesties formatavimas

Python yra keletas būdų, kaip pateikti programos išvestį. Duomenys gali būti atspausdinti žmogui suprantama forma arba įrašyti į failą, kad būtų galima naudoti ateityje, ar net kita nurodyta forma. Vartotojai dažnai nori daugiau valdyti išvesties formatavimą nei tiesiog spausdinti tarpais atskirtas reikšmes.

Išvesties formatavimas Python

Yra keli būdai formatuoti išvestį naudojant eilutės metodą Python .



  • Naudojant String Modulo operatorių (%)
  • Naudojant formatavimo metodą
  • Styginių metodo naudojimas
  • Python formato konvertavimo taisyklė

Išvesties formatavimas naudojant String Modulo operatorių (%)

The % operatoriaus modulis taip pat gali būti naudojamas eilučių formatavimui. Jis interpretuoja kairįjį argumentą panašiai kaip printf() stiliaus formatas, kaip C kalbos eilutėse, kurios turi būti taikomos dešiniajam argumentui. Python sistemoje nėra funkcijos printf(), bet yra senovinės printf funkcijos Python . Šiuo tikslu modulo operatorius % yra perkraunamas eilučių klasės, kad būtų galima atlikti eilutės formatavimą. Todėl ji dažnai vadinama eilutės modulo (arba kartais net vadinama moduliu) operatoriumi. Stygos modulo operatorius ( % ) vis dar yra Python (3.x) ir yra plačiai naudojamas. Tačiau šiais laikais senasis formatavimo stilius yra pašalintas iš kalbos.

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>

>

>

Išvestis

Geeks : 1, Portal : 5.33 Total students : 240, Boys : 120 031 3.561E+02>
Išvesties formatavimas naudojant String Modulo operatorių (%)

Išvesties formatavimas naudojant „Modulo Operator“.

Mūsų pavyzdyje yra du iš jų: %2d ir %5.2f. Bendra formato rezervuotos vietos sintaksė yra tokia:

 %[flags][width][.precision]type>

Pažvelkime į vietos žymeklius mūsų pavyzdyje.

  • Pirmoji rezervuota vieta „%2d“ naudojama pirmajam mūsų eilės komponentui, t. y. sveikajam skaičiui 1. Jis bus išspausdintas su 2 simboliais, o kadangi 1 susideda tik iš vieno skaitmens, išvestis užpildoma 1 tuščiu priekyje.
  • Antroji rezervuota vieta „%5.2f“ skirta slankiajam skaičiui. Kaip ir kiti vietos rezervavimo ženklai, jis įvedamas su % simboliu. Nurodomas bendras skaitmenų, kuriuos turi sudaryti eilutė, skaičius, įskaitant dešimtainį kablelį ir visus skaitmenis prieš ir po kablelio.
  • Mūsų slankusis skaičius 05.333 yra suformatuotas 5 simboliais ir 2 tikslumu, pažymėtu skaičiumi po „.“ vietos rezervuotoje. Paskutinis simbolis „f“ rodo, kad vietos rezervavimo ženklas reiškia slankiąją reikšmę.

Išvesties formatavimas naudojant formatavimo metodą

Metodas format() buvo pridėtas Python (2.6). Stygų formatavimo metodas reikalauja daugiau rankų pastangų. Vartotojai naudoja {} norėdami pažymėti, kur kintamasis bus pakeistas, ir gali pateikti išsamias formatavimo direktyvas, tačiau vartotojas taip pat turi pateikti formatuojamą informaciją. Šis metodas leidžia sujungti elementus išvestyje naudojant pozicinį formatavimą. Pavyzdžiui -

1 pavyzdys: Kodas paaiškina įvairius Python eilučių formatavimo būdus. Reikšmės yra arba aiškiai pateiktos, arba nurodomos pagal tvarką, kuria jos rodomos format() procedūroje. F-Strings leidžia naudoti riestinius skliaustus ir f priešdėlį, norint įterpti išraiškas eilutėje pažodiniai žodžiai. Įvertinamos f-stygų išraiškos ir pakeičiamos atitinkamos jų reikšmės.

Python3


vlc atsisiųsti youtube vaizdo įrašus



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'}'>)>

>

>

Išvestis

I love Geeks for 'Geeks!' Geeks and Portal Portal and Geeks I love Geeks for 'Geeks!' Geeks and Portal>

Skliausteliuose ir juose esantys simboliai (vadinami formato laukus ) pakeičiami objektais, perduotais format() metodu. Skaičius skliausteliuose gali būti naudojamas nurodant objekto, perduoto formatu() metodu, padėtį.

2 pavyzdys: Naudojant padėties parametrus ir pavadintą argumentą („other“) pirmoje eilutėje, į eilutės šabloną pridedamos reikšmės „Geeks“, „For“ ir „Geeks“.„Geeks:12, Portal: 0,55“ spausdinama, o pirmoji reikšmė rodoma kaip 2 skaitmenų sveikas skaičius, o antrasis skaičius yra 2 skaitmenys po kablelio ir 8 bitų plotis. Metodo format() pavadinti argumentai, žymimi konkrečiomis etiketėmis („a“ ir „p“) skaičiams „453“ ir „59.058“,

Python3




prijunkite java duomenų bazę
# 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>))>

>

>

Išvestis

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>

Šioje diagramoje su naudojimo pavyzdžiu parodyta, kaip formatavimo metodas veikia su padėties parametrais:

Išvesties formatavimas naudojant formatavimo metodą

Išvesties formatavimas naudojant formatavimo metodą

3 pavyzdys: Kodas parodo, kaip naudoti žodynus naudojant Python format() metodą. Pirmajame pavyzdyje esantis žodyno skirtukas turi raktus ir susijusias reikšmes. Format() metodas naudoja indeksavimą, kad įtrauktų reikšmes į eilutės šabloną. Antrame pavyzdyje kaip duomenys naudojami pavadinti raktai žodyne.

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))>

java eilutė į loginę
>

>

Išvestis

Geeks: 4127; For: 4098; Geeks: 8637678 I love GeeksForGeeks computer Portal>

Išvesties formatavimas naudojant eilutės metodą

Ši išvestis suformatuota naudojant stygų metodas t.y. pjaustymo ir sujungimo operacijos. Eilutės tipas turi keletą metodų, kurie padeda suformatuoti išvestį įmantresniu būdu. Kai kurie metodai, padedantys formatuoti išvestį, yra str.light() , str.rjust() , ir 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>,>'-'>))>

>

>

Išvestis

Center aligned string with fillchr: ##########I love geeksforgeeks########## The left aligned string is : I love geeksforgeeks-------------------- The right aligned string is : --------------------I love geeksforgeeks>

Python formato konvertavimo taisyklė

Šioje lentelėje pateikiamos standartinės formato konvertavimo gairės, naudojamos Python format() funkcijai.

Konversija

Reikšmė

d

Sveikasis dešimtainis skaičius

autocad tempimo komanda

b

Dvejetainis formatas

O

aštuntainis formatas

in

Pasenęs ir lygiavertis „d“

x arba X

Šešioliktainis formatas

e arba E

Eksponentinis žymėjimas

f arba F

Slankaus kablelio kablelis

g arba G

Bendras formatas

c

Vienas veikėjas

r

Eilučių formatas (naudojant repr())

s

Eilutės formatas(naudojant str()))

%

Procentas