Saltar al contenido principal
InicioTutorialesPython

Tutorial de Python String format()

Aprende a formatear cadenas en Python.
abr 2024  · 5 min leer

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")
String formatting is a powerful technique

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:

'text{}'.format(value)

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:

print("Machine learning provides {} the ability to learn {}".format("systems", "automatically"))
Machine learning provides systems the ability to learn automatically

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"
print(my_string.format(method, condition))
Supervised algorithms rely on labeled datasets

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.

print("{} has a friend called {} and a sister called {}". format("Betty", "Linda", "Daisy"))
Betty has a friend called Linda and a sister called Daisy

Si añadimos los números índice, el orden de sustitución cambia en consecuencia.

print("{2} has a friend called {0} and a sister called {1}". format("Betty", "Linda", "Daisy"))
Daisy has a friend called Betty and a sister called Linda

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.

tool="Unsupervised algorithms"
goal="patterns"
print("{title} try to find {aim} in the dataset".format(title=tool, aim=goal))
Unsupervised algorithms try to find patterns in the dataset

Examinemos este código a continuación. Hemos definido un diccionario con las claves: herramienta y objetivo.

my_methods = {"tool": "Unsupervised algorithms", "goal": "patterns"}

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

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

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 flotador.

print("Only {0:f}% of the {1} produced worldwide is {2}!". format(0.5155675, "data", "analyzed"))
Only 0.515567% of the data produced worldwide is analyzed!

También podríamos añadir .2f indicando que queremos que el flotador tenga dos decimales, como se ve en la salida resultante.

print("Only {0:.2f}% of the {1} produced worldwide is {2}!".format(0.5155675, "data", "analyzed"))
Only 0.52% of the data produced worldwide is analyzed!

Formato datetime

Python tiene un módulo llamado datetime que nos permite, por ejemplo, obtener la hora y la fecha de hoy.

from datetime import datetime
print(datetime.now())
2020-08-08 06:28:42.715243

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()))
Today's date is 2020-08-08 06:29

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

Cuando ejecutamos el código anterior, se obtiene el siguiente resultado:

computer science artificial intelligence

Prué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 María Eugenia Inzaugarat.

Consulta nuestro tutorial de Python sobre cadenas.

Temas

Cursos de Python

Course

Introduction to Python

4 hr
5.5M
Master the basics of data analysis with Python in just four hours. This online course will introduce the Python interface and explore popular packages.
See DetailsRight Arrow
Start Course
Ver másRight Arrow
Relacionado

tutorial

Tutorial de cadenas en Python

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!
Sejal Jaiswal's photo

Sejal Jaiswal

16 min

tutorial

Formato f-string en Python

Conozca la técnica de formateo f-string en Python 3.6. En este tutorial, verá qué ventajas ofrece y repasará algunos casos de uso de ejemplo.
Hafeezul Kareem Shaik's photo

Hafeezul Kareem Shaik

5 min

tutorial

Tutorial de funciones de Python

Un tutorial sobre funciones en Python que cubre cómo escribir funciones, cómo invocarlas y mucho más.
Karlijn Willems's photo

Karlijn Willems

14 min

tutorial

Tutorial de Docstrings en Python

Aprende sobre las Docstrings de Python. Encuentra diferentes ejemplos y tipos de formato de docstrings para Sphinx, Numpy y Pydoc.
Aditya Sharma's photo

Aditya Sharma

15 min

tutorial

Tutorial de list index() de Python

En este tutorial, aprenderás exclusivamente sobre la función index().
Sejal Jaiswal's photo

Sejal Jaiswal

6 min

tutorial

Tutorial de minúsculas en Python

Aprende a convertir la columna de una tabla de una hoja de cálculo en minúsculas utilizando .str.lower().
DataCamp Team's photo

DataCamp Team

6 min

See MoreSee More