El formateo de cadenas también se conoce como interpolación de cadenas. Es el proceso de insertar una cadena o variable personalizada en un texto predefinido.
custom_string ="String formatting"print(f"{custom_string} is a powerful technique")Con la tecnología de
Como científico de datos, lo utilizarías para insertar un título en un gráfico, mostrar un mensaje o un error, o pasar una declaración a una función.
Métodos para dar formato
Formato posicional
Literales de cadena formateados
Método de plantilla
Método String.Format
Ponemos marcadores de posición definidos por un par de llaves en un texto. Llamamos al método de formato punto cadena. A continuación, pasamos el valor deseado al método. El método sustituye los marcadores de posición utilizando los valores en el orden de aparición sustituir por valor:
Definimos una cadena e insertamos dos marcadores de posición. Pasamos dos cadenas al método, que se pasarán para obtener la siguiente salida:
print("Machine learning provides {} the ability to learn {}".format("systems","automatically"))Con la tecnología de
Machine learning provides systems the ability to learn automatically
Con la tecnología de
Podemos utilizar variables tanto para la cadena como para los valores pasados al método. En el siguiente código de ejemplo, definimos una cadena con marcadores de posición y otras dos variables. Aplicamos el método de formato a la cadena utilizando las dos variables definidas. El método lee la cadena y sustituye los marcadores de posición por los valores dados.
my_string ="{} rely on {} datasets"
method ="Supervised algorithms"
condition ="labeled"Con la tecnología de
En el ejemplo siguiente, añades números de índice en los marcadores de posición para reordenar los valores. Esto afecta al orden en que el método sustituye los marcadores de posición.
El método los sustituye por los valores en el orden dado.
print("{} has a friend called {} and a sister called {}".format("Betty","Linda","Daisy"))Con la tecnología de
También podemos introducir argumentos de palabra clave que se llamen por su nombre de palabra clave.
En el código de ejemplo siguiente, hemos insertado palabras clave en los marcadores de posición. A continuación, llamamos a estas palabras clave en el método de formato. A continuación, asignamos qué variable se pasará para cada una de ellas, lo que da como resultado la siguiente salida.
tool="Unsupervised algorithms"
goal="patterns"print("{title} try to find {aim} in the dataset".format(title=tool, aim=goal))Con la tecnología de
Unsupervised algorithms try to find patterns in the dataset
Con la tecnología de
Examinemos este código a continuación. Hemos definido un diccionario con las claves: herramienta y objetivo.
my_methods ={"tool":"Unsupervised algorithms","goal":"patterns"}Con la tecnología de
Queremos insertar sus valores en una cadena. Dentro de los marcadores de posición, podemos especificar el valor asociado a la herramienta clave de los datos variables utilizando la notación de corchetes. Los datos son el diccionario especificado en el método, y la herramienta es la clave presente en ese diccionario.
print('{data[tool]} try to find {data[goal]} in the dataset'.format(data=my_methods))Con la tecnología de
Así, obtenemos la salida deseada que se muestra a continuación. ¡Ten cuidado! Tienes que especificar el índice sin utilizar las comillas.
Unsupervised algorithms try to find patterns in the dataset
Con la tecnología de
Especificador de formato
También podemos especificar el formato dentro de llaves. Define cómo se presentan los valores individuales. Aquí utilizaremos el especificador sintáctico índice dos puntos. Uno de los especificadores de formato más comunes es el flotante representado por f. En el código, especificamos que el valor pasado con el índice 0 será un valor flotante.
print("Only {0:f}% of the {1} produced worldwide is {2}!".format(0.5155675,"data","analyzed"))Con la tecnología de
Pero como el formato devuelto es muy particular, ¡podrías utilizar el especificador de formato como %y-%m-%d-%h-%m para ajustar el formato a algo más familiar para nosotros!
print("Today's date is {:%Y-%m-%d %H:%M}".format(datetime.now()))Con la tecnología de
En el siguiente ejemplo, asignarás las subcadenas que van del 4.º al 19.º carácter, y del 22.º al 44.º carácter de wikipedia_article a las variables first_pos y second_pos, respectivamente. Ajusta las cadenas para que estén en minúsculas. Por último, imprime las variables first_pos y second_pos.
# Assign the substrings to the variables
first_pos = wikipedia_article[3:19].lower()
second_pos = wikipedia_article[21:44].lower()Con la tecnología de
Cuando ejecutamos el código anterior, se obtiene el siguiente resultado:
En este tutorial, aprenderás todo sobre las cadenas de Python: trocearlas y encadenarlas, manipularlas y darles formato con la clase Formatter, cadenas f, plantillas y ¡mucho más!
Descubre cómo escribir funciones en Python reutilizables y eficientes. Domina los parámetros, las sentencias return y temas avanzados como las funciones lambda. Organiza mejor tu código con main() y otras buenas prácticas.
El formateo de cadenas también se conoce como interpolación de cadenas. Es el proceso de insertar una cadena o variable personalizada en un texto predefinido.
Como científico de datos, lo utilizarías para insertar un título en un gráfico, mostrar un mensaje o un error, o pasar una declaración a una función.
Métodos para dar formato
Método String.Format
Ponemos marcadores de posición definidos por un par de llaves en un texto. Llamamos al método de formato punto cadena. A continuación, pasamos el valor deseado al método. El método sustituye los marcadores de posición utilizando los valores en el orden de aparición sustituir por valor:
Formato posicional
Definimos una cadena e insertamos dos marcadores de posición. Pasamos dos cadenas al método, que se pasarán para obtener la siguiente salida:
Podemos utilizar variables tanto para la cadena como para los valores pasados al método. En el siguiente código de ejemplo, definimos una cadena con marcadores de posición y otras dos variables. Aplicamos el método de formato a la cadena utilizando las dos variables definidas. El método lee la cadena y sustituye los marcadores de posición por los valores dados.
Reordenar valores
En el ejemplo siguiente, añades números de índice en los marcadores de posición para reordenar los valores. Esto afecta al orden en que el método sustituye los marcadores de posición.
El método los sustituye por los valores en el orden dado.
Si añadimos los números índice, el orden de sustitución cambia en consecuencia.
Marcadores de posición de nombre
También podemos introducir argumentos de palabra clave que se llamen por su nombre de palabra clave.
En el código de ejemplo siguiente, hemos insertado palabras clave en los marcadores de posición. A continuación, llamamos a estas palabras clave en el método de formato. A continuación, asignamos qué variable se pasará para cada una de ellas, lo que da como resultado la siguiente salida.
Examinemos este código a continuación. Hemos definido un diccionario con las claves: herramienta y objetivo.
Queremos insertar sus valores en una cadena. Dentro de los marcadores de posición, podemos especificar el valor asociado a la herramienta clave de los datos variables utilizando la notación de corchetes. Los datos son el diccionario especificado en el método, y la herramienta es la clave presente en ese diccionario.
Así, obtenemos la salida deseada que se muestra a continuación. ¡Ten cuidado! Tienes que especificar el índice sin utilizar las comillas.
Especificador de formato
También podemos especificar el formato dentro de llaves. Define cómo se presentan los valores individuales. Aquí utilizaremos el especificador sintáctico índice dos puntos. Uno de los especificadores de formato más comunes es el flotante representado por
f. En el código, especificamos que el valor pasado con el índice 0 será un valor flotante.También podríamos añadir
.2findicando que queremos que el valor flotante tenga dos decimales, como se ve en la salida resultante.Formateo
datetimePython tiene un módulo llamado datetime que nos permite, por ejemplo, obtener la hora y la fecha de hoy.
Pero como el formato devuelto es muy particular, ¡podrías utilizar el especificador de formato como
%y-%m-%d-%h-%mpara ajustar el formato a algo más familiar para nosotros!Ejemplo interactivo
En el siguiente ejemplo, asignarás las subcadenas que van del 4.º al 19.º carácter, y del 22.º al 44.º carácter de
wikipedia_articlea las variablesfirst_posysecond_pos, respectivamente. Ajusta las cadenas para que estén en minúsculas. Por último, imprime las variablesfirst_posysecond_pos.Cuando ejecutamos el código anterior, se obtiene el siguiente resultado:
computer science artificial intelligencePruébalo tú mismo.
Para saber más sobre el formato posicional, consulta este vídeo de nuestro curso Expresiones regulares en Python.
Este contenido ha sido extraído del curso Expresiones regulares en Python de DataCamp, impartido por Maria Eugenia Inzaugarat.
Consulta nuestro tutorial de Python sobre cadenas.