logo

Formattazione dell'output Python

In questo tutorial impareremo a formattare l'output. La formattazione e l'output si riferiscono alla presentazione dell'output di un programma. Possiamo formattare l'output in un formato leggibile dall'uomo o scrivere i dati in un file e in qualche altro formato specificato. A volte abbiamo bisogno di controllare l'output in arrivo in modo da poterlo formattare in base alle nostre esigenze. Gli utenti possono gestire le stringhe utilizzando operazioni di suddivisione e concatenazione delle stringhe per creare qualsiasi layout.

Esistono vari modi per formattare l'output.

  • Possiamo usare il metodo f string per formattare le stringhe letterali.
  • IL formato() Il metodo delle stringhe aiuta l'utente a creare un output più elaborato.
  • Possiamo anche eseguire le operazioni di concatenazione delle stringhe per creare qualsiasi layout desideriamo. La classe string dispone anche di alcuni metodi che eseguono operazioni utili per riempire le stringhe in una determinata larghezza di colonna.

Formattazione dell'output utilizzando l'operatore Modulo stringa (%)

L'operatore % ci aiuta a formattare la stringa. Interpreta l'argomento di sinistra come printf() stringa di formato applicata all'argomento corretto. Python non fornisce il file printf() funzione. A questo scopo, l'operatore modulo viene sovraccaricato dalla classe string per eseguire la formattazione della stringa. È noto anche come operatore String Modulo.

L'operatore modulo stringa è ancora disponibile in Python (3.x) ed è ampiamente utilizzato, ma al giorno d'oggi il vecchio stile di formattazione è stato rimosso dal linguaggio.

Comprendiamo il seguente esempio:

numeri romani 1 100

Esempio -

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

Produzione:

 integer : 1, float : 5.33 Total Player : 24, Batsman : 12 062 4.56E+02 

Spiegazione -

Nel codice precedente, '%2d' è un segnaposto che utilizza il primo elemento della tupla. Stampa i due caratteri. Per la descrizione del formato del numero float viene utilizzato '%5.2f'. Viene introdotto anche con il carattere % come gli altri segnaposto. Mostra il numero totale di stringhe che può contenere. La parte decimale del numero o la precisione è impostata su 2, il numero che segue '.' nel segnaposto. L'ultimo carattere, 'f', mostra un numero float.

Formattazione dell'output utilizzando il metodo Format

IL formato() Il metodo richiede uno sforzo manuale maggiore rispetto ad altri metodi. Usiamo {} per contrassegnare la sostituzione delle variabili e fornire direttive dettagliate sulla formattazione, ma dobbiamo anche fornire le informazioni formattate. Possiamo usare il numero tra parentesi come formattazione posizionale. Comprendiamo il seguente esempio.

Esempio -

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

Produzione:

 Hello World Welcome to JavaTpoint JavaTpoint to Welcome 

Le parentesi e i caratteri all'interno dell'elemento sono chiamati campi formato che vengono sostituiti con l'oggetto passato al file formato() metodo. Un numero tra parentesi può essere utilizzato per fare riferimento alla posizione dell'oggetto passata al metodo format().

Capiamo un altro esempio -

Esempio -

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

Produzione:

 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 

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

Produzione:

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

Formattazione dell'output utilizzando il metodo String

Possiamo anche formattare l'output utilizzando le operazioni di affettamento e concatenazione delle stringhe. Il tipo string ha alcuni metodi che aiutano a formattare l'output in un modo più elaborato. Pochi metodi che aiutano a formattare un output: str.luce(), str.rjust(), E str.centro(). Comprendiamo il seguente esempio:

Esempio -

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

Produzione:

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

Regola di conversione del formato in Python

Di seguito la tabella della conversione ed il suo significato.

dimensione di un cucchiaino
Conversione Senso
D Rappresenta un numero intero decimale con segno.
io Rappresenta un numero intero decimale con segno.
O Rappresenta l'ottale senza segno.
In Rappresenta Obsoleto ed equivalente a'd', cioè intero decimale con segno.
X Rappresenta un esadecimale senza segno (minuscolo).
X Rappresenta un esadecimale senza segno (maiuscolo).
È Rappresenta il formato esponenziale in virgola mobile (minuscolo).
E Rappresenta il formato esponenziale in virgola mobile (maiuscolo).
F Rappresenta un formato decimale a virgola mobile.
F Rappresenta un formato decimale a virgola mobile.
G Rappresenta lo stesso di 'e' se l'esponente è maggiore di -4 o inferiore alla precisione, 'f' altrimenti.
G Rappresenta lo stesso di 'E' se l'esponente è maggiore di -4 o inferiore alla precisione, 'F' altrimenti.
C Rappresenta un carattere singolo (accetta numeri interi o stringhe di caratteri singoli).
R Rappresenta String (converte qualsiasi oggetto Python utilizzando repr()).
S Rappresenta String (converte qualsiasi oggetto Python utilizzando str()).
% Rappresenta Nessun argomento convertito, il risultato è un carattere '%'.

Conclusione

Abbiamo discusso come formattare l'output in Python. Abbiamo descritto le varie tecniche insieme ad esempi. Python offre la possibilità di modificare l'output in base ai requisiti. Gli utenti possono utilizzare string o formato() metodi con argomenti posizionali. Questo tutorial includeva anche la tabella delle regole di conversione.