logo

Metodo Python String format()

ILformat()>Il metodo è uno strumento potente che consente agli sviluppatori di creare stringhe formattate incorporando variabili e valori in segnaposto all'interno di una stringa modello. Questo metodo offre un modo flessibile e versatile per costruire output testuale per un'ampia gamma di applicazioni. Pitone funzione formato stringa() è stato introdotto per gestire la formattazione di stringhe complesse in modo più efficiente. A volte in questo caso vogliamo fare istruzioni print generalizzate invece di scrivere istruzioni print ogni volta che usiamo il concetto di formattazione.

Sintassi Python String Format()

Sintassi: { }.formato(valore)



parametri:

  • valore : Può essere un numero intero, una costante numerica in virgola mobile, una stringa, caratteri o anche variabili.

Tipo di ritorno: Restituisce una stringa formattata con il valore passato come parametro nella posizione segnaposto.

String Format() nell'esempio di Python

Una semplice dimostrazione del metodo Python String format() in Pitone.



Python3






name>=> 'Ram'> age>=> 22> message>=> 'My name>is> {>0>}>and> I am {>1>} years> >old. {>1>}>is> my favorite> >number.'.>format>(name, age)> print>(message)>

>

>

Produzione

My name is Ram and I am 22 years old. 22 is my favorite number.>

Utilizzando il metodo .Format()

Questo metodo della classe stringa incorporata fornisce funzionalità per sostituzioni di variabili complesse e formattazione di valori. Questa nuova tecnica di formattazione è considerata più elegante. La sintassi generale del metodo format() è string.format(var1, var2,…). Qui cercheremo di capire come formattare una stringa che contiene parentesi graffe Pitone .

Python3




txt>=> 'I have {an:.2f} Rupees!'> print>(txt.>format>(an>=> 4>))>

>

>

Produzione

I have 4.00 Rupees!>

Utilizzo di un unico formattatore

In questo esempio utilizzeremo il file notazione tra parentesi di stringa programma per dimostrare lo str. metodo format(). I formattatori funzionano inserendo uno o più campi sostitutivi e segnaposto definiti da una coppia di parentesi graffe { } in una stringa e chiamando il file str.format() .

Python3




# using format option in a simple string> print>(>'{}, A computer science portal for geeks.'> >.>format>(>'techcodeview.com'>))> # using format option for a> # value stored in a variable> str> => 'This article is written in {}'> print>(>str>.>format>(>'Python'>))> # formatting a string using a numeric constant> print>(>'Hello, I am {} years old !'>.>format>(>18>))>

>

transizione dell'opacità css

>

Produzione

techcodeview.com, A computer science portal for geeks. This article is written in Python Hello, I am 18 years old!>

String format() con più segnaposto

È possibile utilizzare più coppie di parentesi graffe durante la formattazione del file stringa in Python . Diciamo che nella frase è necessaria un'altra sostituzione di variabile, che può essere eseguita aggiungendo una seconda coppia di parentesi graffe e passando un secondo valore nel metodo. Python sostituirà i segnaposto con i valori in ordine.

Sintassi: { } { } .format(valore1, valore2)

Parametri: (valore1, valore2) : Possono essere numeri interi, costanti numeriche in virgola mobile, stringhe, caratteri e persino variabili. L'unica differenza è che il numero di valori passati come parametri nel metodo format() deve essere uguale al numero di segnaposto creati nella stringa.

Errori ed eccezioni:

Errore indice: Si verifica quando la stringa ha un segnaposto aggiuntivo e non abbiamo passato alcun valore per esso nel metodo format(). Python di solito assegna ai segnaposto l'indice predefinito in ordine simile 0, 1, 2, 3…. per accedere ai valori passati come parametri. Pertanto, quando incontra un segnaposto il cui indice non ha alcun valore passato come parametro, genera IndexError.

Programma Python che utilizza più segnaposto per dimostrare il metodo str.format().

Python3




# Multiple placeholders in format() function> my_string>=> '{}, is a {} science portal for {}'> print>(my_string.>format>(>'techcodeview.com'>,>'computer'>,>'geeks'>))> # different datatypes can be used in formatting> print>(>'Hi ! My name is {} and I am {} years old'> >.>format>(>'User'>,>19>))> # The values passed as parameters> # are replaced in order of their entry> print>(>'This is {} {} {} {}'> >.>format>(>'one'>,>'two'>,>'three'>,>'four'>))>

>

>

Produzione

techcodeview.com, is a computer science portal for geeks Hi! My name is User and I am 19 years old This is one two three four>

Formato stringa() Errore indice

Il programma Python che dimostra che il numero di segnaposto dell'errore di indice è quattro ma vengono passati solo tre valori.

Python3




# parameters in format function.> my_string>=> '{}, is a {} {} science portal for {}'> print>(my_string.>format>(>'techcodeview.com'>,>'computer'>,>'geeks'>))>

>

>

Produzione

IndexError: tuple index out of range>

Formattazione di stringhe utilizzando sequenze di escape

È possibile utilizzare due o più caratteri appositamente designati all'interno di una stringa per formattare una stringa o eseguire un comando. Questi caratteri sono chiamati sequenze di escape. UN Sequenza di escape in Python inizia con una barra rovesciata (). Ad esempio, è una sequenza di escape in cui il significato comune della lettera n viene letteralmente sfuggito e gli viene assegnato un significato alternativo: una nuova riga.

Sequenza di fuga Descrizione Esempio
N Spezza la stringa in una nuova riga print('Ho ideato questa rima per spiegarlo a tempo debito Tutto quello che so')
T Aggiunge una scheda orizzontale print('Il tempo è una cosa preziosa')
Stampa una barra rovesciata print('Guardalo volarementre il pendolo oscilla')
Stampa una virgoletta singola print('Non importa nemmeno quanto ci provi')
Stampa una virgoletta doppia print('È cosìirreale')
UN fa un suono come una campana stampa('a')

Formattatori con argomenti posizionali e di parole chiave

Quando segnaposto { } sono vuoti, Python sostituirà i valori passati tramite str.format() in ordine. I valori che esistono all'interno del metodo str.format() sono essenzialmente tupla tipi di dati e ogni singolo valore contenuto nella tupla può essere chiamato tramite il suo numero di indice, che inizia con il numero di indice 0. Questi numeri di indice possono essere passati nelle parentesi graffe che fungono da segnaposto nella stringa originale.

Sintassi: {0} {1}.format(argomento_posizionale, argomento_parola chiave)

Parametri: (argomento_posizionale, argomento_parola chiave)

  • Argomento_posizionale possono essere numeri interi, costanti numeriche in virgola mobile, stringhe, caratteri e persino variabili.
  • Argomento_parola chiave è essenzialmente una variabile che memorizza un valore, che viene passato come parametro.

Esempio: Dimostrare l'uso dei formattatori con argomenti chiave posizionali.

Python3




# Positional arguments> # are placed in order> print>(>'{0} love {1}!!'>.>format>(>'techcodeview.com'>,> >'Geeks'>))> # Reverse the index numbers with the> # parameters of the placeholders> print>(>'{1} love {0}!!'>.>format>(>'techcodeview.com'>,> >'Geeks'>))> print>(>'Every {} should know the use of {} {} programming and {}'> >.>format>(>'programmer'>,>'Open'>,>'Source'>,> >'Operating Systems'>))> # Use the index numbers of the> # values to change the order that> # they appear in the string> print>(>'Every {3} should know the use of {2} {1} programming and {0}'> >.>format>(>'programmer'>,>'Open'>,>'Source'>,>'Operating Systems'>))> # Keyword arguments are called> # by their keyword name> print>(>'{gfg} is a {0} science portal for {1}'> >.>format>(>'computer'>,>'geeks'>, gfg>=>'techcodeview.com'>))>

>

>

Produzione

techcodeview.com love Geeks!!  Geeks love techcodeview.com!!  Every programmer should know the use of Open Source programming and Operating Systems  Every Operating Systems should know the use of Source Open programming and programmer  techcodeview.com is a computer science portal for geeks>

Digitare specificando in Python

È possibile includere più parametri all'interno delle parentesi graffe della nostra sintassi. Utilizzare la sintassi del codice formato {nome_campo: conversione} , Dove nome_campo specifica il numero di indice dell'argomento nel metodo str.format() e conversione si riferisce al codice di conversione del tipo di dati.

Utilizzando %s – conversione di stringhe tramite str() prima della formattazione

Python3




print>(>'%20s'> %> (>'geeksforgeeks'>, ))> print>(>'%-20s'> %> (>'Interngeeks'>, ))> print>(>'%.5s'> %> (>'Interngeeks'>, ))>

>

>

Produzione

geeksforgeeks Interngeeks  Inter>

Utilizzando %c - carattere prima della formattazione

Python3




type> => 'bug'> result>=> 'troubling'> print>('I wondered why the program was>%>s me. Then> it dawned on me it was a>%>s .'>%> >(result,>type>))>

>

>

Produzione

I wondered why the program was troubling me. Thenit dawned on me it was a bug .>

Utilizzando %i intero decimale con segno e %D intero decimale con segno (base 10) prima della formattazione

Python3




match>=> 12000> site>=> 'Amazon'> print>('>%>s>is> so useful. I tried to look> up mobile>and> they had a nice one that cost>%>d rupees.'>%> (site, match))>

>

>

Produzione

Amazon is so useful. I tried to lookup mobile and they had a nice one that cost 12000 rupees.>

Un'altra utile specifica del tipo

  • %In intero decimale senza segno
  • %O intero ottale
  • F – visualizzazione in virgola mobile
  • B – numero binario
  • O – numero ottale
  • %X – esadecimale con lettere minuscole dopo il 9
  • %X – esadecimale con lettere maiuscole dopo il 9
  • È – notazione esponenziale

Puoi anche specificare simboli di formattazione . L'unica modifica è l'utilizzo dei due punti (:) invece del %.

Ad esempio, invece di %s usa {:s} e invece di %d usa (:d}

Sintassi: Stringa {nome_campo:conversione} Esempio.format(valore)
Errori ed eccezioni:
ErroreValore: Si verifica un errore durante la conversione del tipo in questo metodo.

Converte interi decimali in base 10 in costanti numeriche a virgola mobile

Python3




print>(>'This site is {0:f}% securely {1}!!'>.> >format>(>100>,>'encrypted'>))> # To limit the precision> print>(>'My average of this {0} was {1:.2f}%'> >.>format>(>'semester'>,>78.234876>))> # For no decimal places> print>(>'My average of this {0} was {1:.0f}%'> >.>format>(>'semester'>,>78.234876>))> # Convert an integer to its binary or> # with other different converted bases.> print>(>'The {0} of 100 is {1:b}'> >.>format>(>'binary'>,>100>))> print>(>'The {0} of 100 is {1:o}'> >.>format>(>'octal'>,>100>))>

>

>

Produzione

This site is 100.000000% securely encrypted!! My average of this semester was 78.23% My average of this semester was 78% The binary of 100 is 1100100 The octal of 100 is 144>

Digitare Specificazione degli errori

Dimostrare ValueError mentre si esegue la forzatura conversioni di tipo

Python3




# When explicitly converted floating-point> # values to decimal with base-10 by 'd'> # type conversion we encounter Value-Error.> print>(>'The temperature today is {0:d} degrees outside !'> >.>format>(>35.567>))> # Instead write this to avoid value-errors> ''' print('The temperature today is {0:.0f} degrees outside !'> >.format(35.567))'''>

>

>

Produzione

ValueError: Unknown format code 'd' for object of type 'float'>

Sostituzioni di riempimento o generazione di spazi

Dimostrazione della spaziatura quando le stringhe vengono passate come parametri

Per impostazione predefinita, le stringhe sono giustificate a sinistra all'interno del campo e i numeri sono giustificati a destra. Possiamo modificarlo inserendo un codice di allineamento subito dopo i due punti.

  <   : left-align text in the field   ^   : center text in the field>: allinea a destra il testo nel campo>

Python3




# To demonstrate spacing when> # strings are passed as parameters> print>(>'{0:4}, is the computer science portal for {1:8}!'> >.>format>(>'techcodeview.com'>,>'geeks'>))> # To demonstrate spacing when numeric> # constants are passed as parameters.> print>(>'It is {0:5} degrees outside !'> >.>format>(>40>))> # To demonstrate both string and numeric> # constants passed as parameters> print>(>'{0:4} was founded in {1:16}!'> >.>format>(>'techcodeview.com'>,>2009>))> # To demonstrate aligning of spaces> print>(>'{0:^16} was founded in {1:<4}!'> >.>format>(>'techcodeview.com'>,>2009>))> print>(>'{:*^20s}'>.>format>(>'Geeks'>))>

>

pagine del server Java

>

Produzione :

techcodeview.com, is the computer science portal for geeks ! It is 40 degrees outside! techcodeview.com was founded in 2009!  techcodeview.com was founded in 2009 ! *******Geeks********>

Applicazioni

I formattatori vengono generalmente utilizzati per organizzare i dati. I formattatori possono essere visti nella loro luce migliore quando vengono utilizzati per organizzare molti dati in modo visivo. Se mostriamo i database agli utenti, l'utilizzo dei formattatori per aumentare la dimensione del campo e modificare l'allineamento può rendere l'output più leggibile.

Esempio: dimostrare l'organizzazione di dati di grandi dimensioni utilizzando format()

Python3




# which prints out i, i ^ 2, i ^ 3,> # i ^ 4 in the given range> # Function prints out values> # in an unorganized manner> def> unorganized(a, b):> >for> i>in> range>(a, b):> >print>(i, i>*>*>2>, i>*>*>3>, i>*>*>4>)> # Function prints the organized set of values> def> organized(a, b):> >for> i>in> range>(a, b):> ># Using formatters to give 6> ># spaces to each set of values> >print>(>'{:6d} {:6d} {:6d} {:6d}'> >.>format>(i, i>*>*> 2>, i>*>*> 3>, i>*>*> 4>))> # Driver Code> n1>=> int>(>input>(>'Enter lower range :- '>))> n2>=> int>(>input>(>'Enter upper range :- '>))> print>(>'------Before Using Formatters-------'>)> # Calling function without formatters> unorganized(n1, n2)> print>()> print>(>'-------After Using Formatters---------'>)> print>()> # Calling function that contains> # formatters to organize the data> organized(n1, n2)>

>

>

Produzione :

Enter lower range :- 3 Enter upper range :- 10 ------Before Using Formatters------- 3 9 27 81 4 16 64 256 5 25 125 625 6 36 216 1296 7 49 343 2401 8 64 512 4096 9 81 729 6561 -------After Using Formatters---------  3 9 27 81  4 16 64 256  5 25 125 625  6 36 216 1296  7 49 343 2401  8 64 512 4096  9 81 729 6561>

Utilizzo di un dizionario per la formattazione delle stringhe

Utilizzo di un dizionario per decomprimere i valori nei segnaposto nella stringa che deve essere formattata. Fondamentalmente usiamo ** per decomprimere i valori. Questo metodo può essere utile nella sostituzione di stringhe durante la preparazione di una query SQL.

Python3




introduction>=> 'My name is {first_name} {middle_name} {last_name} AKA the {aka}.'> full_name>=> {> >'first_name'>:>'Tony'>,> >'middle_name'>:>'Howard'>,> >'last_name'>:>'Stark'>,> >'aka'>:>'Iron Man'>,> }> # Notice the use of '**' operator to unpack the values.> print>(introduction.>format>(>*>*>full_name))>

>

>

Produzione:

My name is Tony Howard Stark AKA the Iron Man.>

Formato Python() con elenco

Dato un elenco di valori float, l'attività è troncare tutti i valori float a 2 cifre decimali. Vediamo i diversi metodi per svolgere l'attività.

Python3




# Python code to truncate float> # values to 2 decimal digits.> > # List initialization> Input> => [>100.7689454>,>17.232999>,>60.98867>,>300.83748789>]> > # Using format> Output>=> [>'{:.2f}'>.>format>(elem)>for> elem>in> Input>]> > # Print output> print>(Output)>

>

>

Produzione

['100.77', '17.23', '60.99', '300.84']>