logo

Python | Uitvoeropmaak

In Python zijn er verschillende manieren om de uitvoer van een programma te presenteren. Gegevens kunnen worden afgedrukt in een voor mensen leesbare vorm, of naar een bestand worden geschreven voor toekomstig gebruik, of zelfs in een andere gespecificeerde vorm. Gebruikers willen vaak meer controle over de opmaak van de uitvoer dan alleen het afdrukken van door spaties gescheiden waarden.

Uitvoerformattering in Python

Er zijn verschillende manieren om de uitvoer op te maken met behulp van String Method in Python .



  • Stringmodulo-operator(%) gebruiken
  • Formatmethode gebruiken
  • Met behulp van de String-methode
  • Python's formaatconversieregel

Uitvoer opmaken met String Modulo Operator(%)

De % bedieningsmodule kan ook worden gebruikt voor tekenreeksopmaak. Het interpreteert het linkerargument net als een printf()-stijlformaat, zoals in C-taalreeksen die op het rechterargument moeten worden toegepast. In Python is er geen printf()-functie, maar de functionaliteit van de oude printf is wel aanwezig Python . Voor dit doel wordt de modulo-operator % overbelast door de stringklasse om stringformattering uit te voeren. Daarom wordt het vaak een stringmodulo-operator (of soms zelfs modulus-operator genoemd). De stringmodulo-operator ( % ) is nog steeds beschikbaar in Python(3.x) en wordt veel gebruikt. Maar tegenwoordig wordt de oude opmaakstijl uit de taal verwijderd.

Python3








to string-methode in Java
# 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>

>

>

Uitvoer

Geeks : 1, Portal : 5.33 Total students : 240, Boys : 120 031 3.561E+02>
Uitvoer opmaken met String Modulo Operator(%)

Uitvoeropmaak met behulp van Modulo Operator

Er zijn er twee in ons voorbeeld: %2d en %5.2f. De algemene syntaxis voor een tijdelijke aanduiding voor een indeling is:

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

Laten we eens kijken naar de tijdelijke aanduidingen in ons voorbeeld.

  • De eerste tijdelijke aanduiding ‘%2d’ wordt gebruikt voor de eerste component van onze tupel, d.w.z. het gehele getal 1. Het wordt afgedrukt met 2 tekens, en omdat 1 uit slechts één cijfer bestaat, wordt de uitvoer opgevuld met 1 voorafgaande spatie.
  • De tweede tijdelijke aanduiding ‘%5.2f’ is voor een float-nummer. Net als andere tijdelijke aanduidingen wordt het geïntroduceerd met het teken %. Het specificeert het totale aantal cijfers dat de tekenreeks moet bevatten, inclusief de komma en alle cijfers, zowel voor als na de komma.
  • Ons floatnummer 05.333 is opgemaakt met 5 tekens en een precisie van 2, aangegeven door het nummer na de ‘.’ in de tijdelijke aanduiding. Het laatste teken ‘f’ geeft aan dat de tijdelijke aanduiding een float-waarde vertegenwoordigt.

Uitvoer formatteren met behulp van de formatteermethode

De methode format() is toegevoegd in Python(2.6). De formatteringsmethode van strings vereist meer handmatige inspanning. Gebruikers gebruiken {} om aan te geven waar een variabele zal worden vervangen en kunnen gedetailleerde opmaakrichtlijnen geven, maar de gebruiker moet ook de informatie opgeven die moet worden opgemaakt. Met deze methode kunnen we elementen binnen een uitvoer samenvoegen door middel van positionele opmaak. Bijvoorbeeld -

Voorbeeld 1: De code legt verschillende opmaaktechnieken voor Python-tekenreeksen uit. De waarden worden expliciet geleverd of er wordt naar verwezen in de volgorde waarin ze verschijnen in de format()-procedure. F-Strings maken het gebruik van accolades en het voorvoegsel f mogelijk om expressies in de tekenreeks in te sluiten. letterlijke. De uitdrukkingen van de f-Strings worden beoordeeld en de juiste waarden worden daarvoor vervangen.

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

>

>

Uitvoer

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

De haakjes en tekens daarin (genaamd velden opmaken ) worden vervangen door de objecten die zijn doorgegeven aan de format() -methode. Een getal tussen haakjes kan worden gebruikt om te verwijzen naar de positie van het object dat wordt doorgegeven aan de format() -methode.

Voorbeeld 2: Met behulp van positionele parameters en een benoemd argument ('other') in de eerste regel worden de waarden 'Geeks', 'For' en 'Geeks' toegevoegd aan de stringsjabloon.'Geeks:12, Portal: 0.55′ wordt afgedrukt, waarbij de eerste waarde wordt weergegeven als een geheel getal van twee cijfers en het tweede getal twee decimalen en een breedte van 8 bits heeft. De benoemde argumenten van de format()-methode, aangegeven met specifieke labels (‘a’ en ‘p’) voor de getallen ‘453’ en ‘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>))>

>

>

Uitvoer

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>

Het volgende diagram met een voorbeeldgebruik laat zien hoe de formaatmethode werkt voor positionele parameters:

Uitvoer formatteren met behulp van de formatteermethode

Uitvoeropmaak met behulp van de formatteringsmethode

Voorbeeld 3: De code laat zien hoe u woordenboeken kunt gebruiken met de format()-methode van Python. Het ‘tabblad’ van het woordenboek in het eerste voorbeeld bevat sleutels en bijbehorende waarden. De methode format() maakt gebruik van indexering om de waarden in de tekenreekssjabloon te plaatsen. In het tweede voorbeeld worden benoemde sleutels in een woordenboek als gegevens gebruikt.

Python3

wat is een monitor




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

>

>

Uitvoer

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

Uitvoer formatteren met behulp van de String-methode

Deze uitvoer wordt geformatteerd met behulp van stringmethode, dat wil zeggen snij- en aaneenschakelingsbewerkingen. Het tekenreekstype heeft enkele methoden die helpen bij het op een mooiere manier formatteren van de uitvoer. Sommige methoden die helpen bij het formatteren van een uitvoer zijn str.licht() , str.rjust() , En str.centrum()

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

>

>

Uitvoer

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's formaatconversieregel

Deze tabel bevat de standaardrichtlijnen voor formaatconversie die worden gebruikt door de format()-functie van Python.

Conversie

Betekenis

mb naar gb

D

Decimaal geheel getal

B

Binair formaat

O

octaal formaat

in

Verouderd en gelijk aan 'd'

x of X

Hexadecimaal formaat

e of E

Exponentiële notatie

f of F

Decimaal met drijvende komma

g of G

Algemeen formaat

C

Enkel karakter

R

Tekenreeksindeling (met behulp van repr())

S

Tekenreeksindeling (met str()))

statisch in c

%

Percentage