Saltar al contenido principal
InicioTutorialesPython

Tutorial de Python String format()

Aprende a formatear cadenas en Python.
Actualizado 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

Certificación disponible

Course

Introducción a Python

4 hr
5.4M
Domina los fundamentos del análisis de datos con Python en sólo cuatro horas. Este curso online introducirá la interfaz de Python y explorará paquetes populares.
See DetailsRight Arrow
Start Course
Ver másRight Arrow
Relacionado

tutorial

Programación orientada a objetos (POO) en Python: Tutorial

Aborda los fundamentos de la Programación Orientada a Objetos (POO) en Python: explora las clases, los objetos, los métodos de instancia, los atributos y ¡mucho más!
Théo Vanderheyden's photo

Théo Vanderheyden

12 min

tutorial

Cómo comentar un bloque de código en Python

Utilizar comentarios es fundamental para trabajar eficazmente con Python. En este breve tutorial, aprenderás a comentar un bloque de código en Python.
Adel Nehme's photo

Adel Nehme

3 min

tutorial

Guía completa de programación de sockets en Python

Aprende los fundamentos de la programación de sockets en Python
Serhii Orlivskyi's photo

Serhii Orlivskyi

41 min

tutorial

Tutorial de Python: Streamlit

Este tutorial sobre Streamlit está pensado para ayudar a los científicos de datos o ingenieros de machine learning que no son desarrolladores web y no están interesados en pasar semanas aprendiendo a utilizar estos marcos para crear aplicaciones web.
Nadia mhadhbi's photo

Nadia mhadhbi

18 min

tutorial

Tutorial de Pandas: DataFrames en Python

Explora el análisis de datos con Python. Los DataFrames de Pandas facilitan la manipulación de tus datos, desde la selección o sustitución de columnas e índices hasta la remodelación de tus datos.
Karlijn Willems's photo

Karlijn Willems

20 min

tutorial

Tutorial de instalación de Anaconda en Windows

Este tutorial te mostrará cómo puedes instalar Anaconda, un potente gestor de paquetes, en Microsoft Windows.
DataCamp Team's photo

DataCamp Team

5 min

See MoreSee More