Elformat()>El método es una poderosa herramienta que permite a los desarrolladores crear cadenas formateadas incorporando variables y valores en marcadores de posición dentro de una cadena de plantilla. Este método ofrece una forma flexible y versátil de generar resultados textuales para una amplia gama de aplicaciones. Pitón función de formato de cadena () se ha introducido para manejar el formato de cadenas complejas de manera más eficiente. A veces queremos hacer declaraciones impresas generalizadas en ese caso en lugar de escribir declaraciones impresas cada vez que usamos el concepto de formato.
Sintaxis del formato de cadena de Python()
Sintaxis: { }.formato(valor)
Parámetros:
- valor : Puede ser un número entero, una constante numérica de punto flotante, una cadena, caracteres o incluso variables.
Tipo de devolución: Devuelve una cadena formateada con el valor pasado como parámetro en la posición del marcador de posición.
Formato de cadena() en el ejemplo de Python
Una demostración simple del método Python String format() en Pitón.
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)> |
>
>
Producción
My name is Ram and I am 22 years old. 22 is my favorite number.>
Usando el método .Format()
Este método de la clase de cadena incorporada proporciona funcionalidad para sustituciones de variables complejas y formato de valores. Esta nueva técnica de formato se considera más elegante. La sintaxis general del método format() es string.format(var1, var2,…). Aquí intentaremos entender cómo formatear una cadena que contiene llaves en Pitón .
Python3
txt>=> 'I have {an:.2f} Rupees!'> print>(txt.>format>(an>=> 4>))> |
>
>
Producción
I have 4.00 Rupees!>
Usando un único formateador
En este ejemplo, usaremos el notación entre corchetes de cadena programa para demostrar el str. método formato(). Los formateadores funcionan colocando uno o más campos de reemplazo y marcadores de posición definidos por un par de llaves. { } en una cadena y llamando al str.formato() .
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>))> |
>
código fibonacci java
>
Producción
techcodeview.com, A computer science portal for geeks. This article is written in Python Hello, I am 18 years old!>
Formato de cadena() con múltiples marcadores de posición
Se pueden utilizar varios pares de llaves al formatear el cadena en Python . Digamos que se necesita otra sustitución de variable en la oración, lo que se puede hacer agregando un segundo par de llaves y pasando un segundo valor al método. Python reemplazará los marcadores de posición con valores en orden.
Sintaxis: { } { } .formato(valor1, valor2)
Parámetros: (valor1, valor2): Pueden ser números enteros, constantes numéricas de punto flotante, cadenas, caracteres e incluso variables. La única diferencia es que la cantidad de valores pasados como parámetros en el método format() debe ser igual a la cantidad de marcadores de posición creados en la cadena.
Errores y excepciones:
Error de índice: Ocurre cuando la cadena tiene un marcador de posición adicional y no le pasamos ningún valor en el método format(). Python generalmente asigna los marcadores de posición con el índice predeterminado en orden como 0, 1, 2, 3…. para acceder a los valores pasados como parámetros. Entonces, cuando encuentra un marcador de posición cuyo índice no tiene ningún valor pasado como parámetro, arroja IndexError.
Programa Python que utiliza múltiples marcadores de posición para demostrar el método 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'>))> |
>
>
Producción
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 de cadena() IndexError
El programa Python que demuestra el error de índice El número de marcadores de posición es cuatro, pero solo se pasan tres valores.
Python3
# parameters in format function.> my_string>=> '{}, is a {} {} science portal for {}'> print>(my_string.>format>(>'techcodeview.com'>,>'computer'>,>'geeks'>))> |
>
>
Producción
IndexError: tuple index out of range>
Formatear cadenas usando secuencias de escape
Puede utilizar dos o más caracteres especialmente designados dentro de una cadena para formatear una cadena o ejecutar un comando. Estos personajes se llaman secuencias de escape. Un Secuencia de escape en Python comienza con una barra invertida (). Por ejemplo, es una secuencia de escape en la que el significado común de la letra n se escapa literalmente y se le da un significado alternativo: una nueva línea.
| Secuencia de escape | Descripción | Ejemplo |
|---|---|---|
| orte | Divide la cadena en una nueva línea. | print(‘Diseñé esta rima para explicar a su debido tiempo Todo lo que sé’) |
| t | Agrega una pestaña horizontal | print(‘El tiempo es una cosa valiosa’) |
| Imprime una barra invertida | print(‘Míralo volar mientras el péndulo oscila’) | |
| ’ | Imprime una cotización única | print('Ni siquiera importa cuánto lo intentes') |
| Imprime una comilla doble | print(‘Es tanirreal‘) | |
| a | hace un sonido como una campana | imprimir('a') |
Formateadores con argumentos posicionales y de palabras clave
Cuando los marcadores de posición { } están vacíos, Python reemplazará los valores pasados a través de str.format() en orden. Los valores que existen dentro del método str.format() son esencialmente tupla tipos de datos y cada valor individual contenido en la tupla se puede llamar por su número de índice, que comienza con el número de índice 0. Estos números de índice se pueden pasar entre llaves que sirven como marcadores de posición en la cadena original.
Sintaxis: {0} {1}.format(positional_argument, keyword_argument)
Parámetros: (argumento_posicional, argumento_palabra clave)
- argumento_posicional pueden ser números enteros, constantes numéricas de punto flotante, cadenas, caracteres e incluso variables.
- argumento_palabra clave es esencialmente una variable que almacena algún valor, que se pasa como parámetro.
Ejemplo: Demostrar el uso de formateadores con argumentos clave posicionales.
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'>))> |
>
>
Producción
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>
Especificación de tipo en Python
Se pueden incluir más parámetros dentro de las llaves de nuestra sintaxis. Utilice la sintaxis del código de formato. {nombre del campo: conversión} , dónde nombre del campo especifica el número de índice del argumento del método str.format() y la conversión se refiere al código de conversión del tipo de datos.
Usando %s – conversión de cadenas mediante str() antes de formatear
Python3
print>(>'%20s'> %> (>'geeksforgeeks'>, ))> print>(>'%-20s'> %> (>'Interngeeks'>, ))> print>(>'%.5s'> %> (>'Interngeeks'>, ))> |
>
>
Producción
geeksforgeeks Interngeeks Inter>
Usando %c - personaje antes de formatear
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>))> |
>
>
Producción
I wondered why the program was troubling me. Thenit dawned on me it was a bug .>
Usando %i entero decimal con signo y %d entero decimal con signo (base-10) antes de formatear
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))> |
>
>
Producción
Amazon is so useful. I tried to lookup mobile and they had a nice one that cost 12000 rupees.>
Otra especificación de tipo útil
- %en entero decimal sin signo
- %O entero octal
- F – visualización de punto flotante
- b - número binario
- oh – número octal
- %X – hexadecimal con letras minúsculas después del 9
- %X – hexadecimal con letras mayúsculas después del 9
- Es – notación exponente
También puedes especificar símbolos de formato . El único cambio es usar dos puntos (:) en lugar de %.
Por ejemplo, en lugar de %s use {:s} y en lugar de %d use (:d}
Sintaxis: Cadena {nombre_campo:conversión} Ejemplo.formato(valor)
Errores y excepciones:
Error de valor: Se produce un error durante la conversión de tipos en este método.
Convierta números enteros decimales de base 10 en constantes numéricas de punto flotante
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>))> |
>
>
Producción
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>
Errores de especificación de tipo
Demostrar ValueError mientras hace forzado conversiones de tipo
Python3
matriz en métodos java
# 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))'''> |
>
>
Producción
ValueError: Unknown format code 'd' for object of type 'float'>
Sustituciones de relleno o generación de espacios
Demostración del espaciado cuando se pasan cadenas como parámetros
De forma predeterminada, las cadenas están justificadas a la izquierda dentro del campo y los números están justificados a la derecha. Podemos modificar esto colocando un código de alineación justo después de los dos puntos.
< : left-align text in the field ^ : center text in the field>: alinear el texto a la derecha en el 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'>))> |
>
>
Producción :
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********>
Aplicaciones
Los formateadores se utilizan generalmente para organizar datos. Los formateadores se pueden ver mejor cuando se utilizan para organizar una gran cantidad de datos de forma visual. Si mostramos bases de datos a los usuarios, el uso de formateadores para aumentar el tamaño del campo y modificar la alineación puede hacer que la salida sea más legible.
Ejemplo: demostrar la organización de datos grandes usando 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)> |
>
>
Producción :
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>
Usar un diccionario para formatear cadenas
Usar un diccionario para descomprimir valores en los marcadores de posición de la cadena que debe formatearse. Básicamente usamos ** para descomprimir los valores. Este método puede resultar útil en la sustitución de cadenas mientras se prepara una consulta 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))> |
>
>
Producción:
My name is Tony Howard Stark AKA the Iron Man.>
Formato Python() con lista
Dada una lista de valores flotantes, la tarea consiste en truncar todos los valores flotantes a 2 dígitos decimales. Veamos los diferentes métodos para realizar la tarea.
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)> |
>
>
Producción
['100.77', '17.23', '60.99', '300.84']>