logo

Python | Format de sortida

A Python, hi ha diverses maneres de presentar la sortida d'un programa. Les dades es poden imprimir en una forma llegible per l'home, o escriure en un fitxer per a un ús futur, o fins i tot en una altra forma especificada. Els usuaris sovint volen més control sobre el format de la sortida que simplement imprimir valors separats per espais.

Format de sortida en Python

Hi ha diverses maneres de formatar la sortida mitjançant el mètode String Python .



  • Utilitzant String Modulo Operator (%)
  • Utilitzant el mètode de format
  • Utilitzant el mètode String
  • Regla de conversió de format de Python

Format de la sortida mitjançant l'operador String Modulo (%)

El Mòdul % operator també es pot utilitzar per al format de cadena. Interpreta l'argument esquerre com un format d'estil printf() com en les cadenes de llenguatge C que s'aplicaran a l'argument dret. A Python, no hi ha cap funció printf() però la funcionalitat de l'antiga printf està continguda a Python . Amb aquesta finalitat, la classe de cadena sobrecarrega l'operador mòdul % per dur a terme el format de cadena. Per tant, sovint s'anomena operador mòdul de cadena (o fins i tot mòdul). L'operador mòdul de cadena ( % ) encara està disponible a Python(3.x) i s'utilitza àmpliament. Però avui en dia l'antic estil de format s'elimina de l'idioma.

Python 3








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

>

>

Sortida

Geeks : 1, Portal : 5.33 Total students : 240, Boys : 120 031 3.561E+02>
Format de la sortida mitjançant l'operador String Modulo (%)

Formatació de la sortida mitjançant l'operador Modulo

Al nostre exemple n'hi ha dos: %2d i %5.2f. La sintaxi general d'un marcador de posició de format és:

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

Fem una ullada als marcadors de posició del nostre exemple.

  • El primer marcador de posició '%2d' s'utilitza per al primer component de la nostra tupla, és a dir, l'enter 1. S'imprimirà amb 2 caràcters i, com que 1 només consta d'un dígit, la sortida s'emplena amb 1 blanc inicial.
  • El segon marcador de posició '% 5.2f' és per a un nombre flotant. Com altres marcadors de posició, s'introdueix amb el caràcter %. Especifica el nombre total de dígits que ha de contenir la cadena, inclòs el punt decimal i tots els dígits, tant abans com després del punt decimal.
  • El nostre número flotant 05.333 té un format de 5 caràcters i una precisió de 2, indicat pel número que segueix el '.' al marcador de posició. L'últim caràcter 'f' indica que el marcador de posició representa un valor flotant.

Formatatge de la sortida mitjançant el mètode de format

El mètode format() es va afegir a Python(2.6). El mètode de format de les cadenes requereix més esforç manual. Els usuaris utilitzen {} per marcar on es substituirà una variable i poden proporcionar directrius de format detallades, però l'usuari també ha de proporcionar la informació que s'ha de formatar. Aquest mètode ens permet concatenar elements dins d'una sortida mitjançant el format posicional. Per exemple -

protocol d'Internet smtp

Exemple 1: El codi explica diverses tècniques de format de cadenes de Python. Els valors es proporcionen explícitament o es fan referència per l'ordre en què apareixen al procediment format(). Les cadenes f permeten l'ús de claus i el prefix f per incrustar expressions dins de la cadena literals. S'avaluen les expressions de les cadenes f i se'ls substitueixen els valors adequats.

Python 3




alternativa mylivecricket

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

>

>

Sortida

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

Els claudàtors i els caràcters que hi ha dins (anomenats camps de format ) es substitueixen amb els objectes passats al mètode format(). Es pot utilitzar un número entre claudàtors per referir-se a la posició de l'objecte passat al mètode format().

Exemple 2: Amb l'ajuda de paràmetres posicionals i un argument amb nom ('altre') a la primera línia, s'afegeixen els valors 'Geeks', 'For' i 'Geeks' a la plantilla de cadena.'Geeks:12, Portal: 0,55′ s'imprimeix, amb el primer valor que apareix com un nombre enter de 2 dígits i el segon nombre amb 2 decimals i una amplada de 8 bits. Els arguments amb nom del mètode format(), denotats per etiquetes específiques ('a' i 'p') per als números '453' i '59.058',

Python 3




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

>

>

Sortida

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>

El diagrama següent amb un exemple d'ús mostra com funciona el mètode de format per als paràmetres posicionals:

Formatatge de la sortida mitjançant el mètode de format

Format de sortida mitjançant el mètode Format

Exemple 3: El codi mostra com utilitzar diccionaris amb el mètode format() de Python. La 'pestanya' del diccionari del primer exemple té claus i valors associats. El mètode format() utilitza la indexació per posar els valors a la plantilla de cadena. En el segon exemple, les claus amb nom d'un diccionari s'utilitzen com a dades.

Python 3




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

>

què és l'ou de Pasqua d'Android
>

Sortida

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

Format de la sortida mitjançant el mètode String

Aquesta sortida es formateja utilitzant mètode de cadena, és a dir operacions de tall i concatenació. El tipus de cadena té alguns mètodes que ajuden a donar format a la sortida d'una manera més elegant. Alguns mètodes que ajuden a formatar una sortida són str.light() , str.rjust() , i str.centre()

Python 3




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

>

>

Sortida

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

Regla de conversió de format de Python

Aquesta taula enumera les directrius de conversió de format estàndard utilitzades per la funció format() de Python.

Conversió

Significat

d

Enter decimal

b

Format binari

mètode java

O

format octal

en

Obsolet i equivalent a 'd'

x o X

bucle infinit

Format hexadecimal

e o E

Notació exponencial

f o F

decimal de coma flotant

g o G

Format general

c

Personatge únic

r

Format de cadena (utilitzant repr())

s

Format de cadena (utilitzant str()))

%

Percentatge