¿Cómo usar str.center() para centrar cadenas de texto en Python?

| Última modificación: 9 de diciembre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Darle formato a las cadenas de texto en Python es una de las cosas que tienes que aprender si estás trabajando con estos elementos. En el caso de que las quieras ver bien alineadas en la consola o en la salida de un programa, puedes usar str.center(), con éste método puedes centrar un texto dentro de un espacio determinado. Veamos qué es exactamente y cómo funciona el str.center().

str.center() en python

¿Qué es str.center() en Python?

El método str.center() en Python es usado si queremos alinear una cadena de texto al centro desde una longitud determinada, de modo que añadamos espacios u otro cualquier caracter que especifiquemos a ambos lados de la cadena para rellenar el espacio faltante. Veamos su sintaxis:

string.center(length, character)

En este caso:

  • length es la longitud total de la cadena resultante. Si la longitud de la cadena original es menor que la longitud especificada, se agregarán caracteres a ambos lados.
  • character hace referncia al carácter que se usará para rellenar el espacio. Si no se especifica, el valor que se pone por defecto es un espacio en blanco.

¿Cómo usar str.center() en Python?

La mejor manera de aprender a usar str.center() en Python es mostrando ejemplos que te permitan comprender cómo es su funcionamiento. Veamos un ejemplo básico:

txt = "banana"
x = txt.center(20)
print(x)

Salida:

       banana        

En este ejemplo, la palabra “banana” está centrada dentro de una cadena de 20 caracteres, con 7 espacios a la izquierda y 7 a la derecha que han sido señalados en amarillo.

Usando un carácter personalizado como relleno

🔴 ¿Quieres Aprender a Programar con Python? 🔴

Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semana

Como con otros métodos, con str.center() es posible especificar un caracter diferente al de espacio para rellenar los espacios vacíos. Si, por ejemplo, quieres que el texto esté centrado pero que los espacios vacíos se rellenen con asteriscos, puedes hacerlo así:

txt = "banana"
x = txt.center(20, "*")
print(x)

La salida quedaría así:

*****banana*****

Como puedes ver, los espacios vacíos se han rellenado con asteriscos en lugar de los espacios en blanco por defecto.

¿Cuándo usar str.center()?

Este método de str.center() es muy recomendado en situaciones en donde quieras que tu texto esté alineado paralelamente, pero sobre todo cuando hay escenarios en donde la legibilidad es muy importante. Veamos algunos de esos casos:

  • Creación de cabeceras o títulos: Si estás creando un informe, tabla o cualquier tipo de salida que esté formateada, con bastante recurrencia querrás centrar los encabezados o títulos yaquí es donde str.center puede serte de gran ayuda:
title = "Reporte de Ventas"
print(title.center(40, "-"))

La salida:

------------Reporte de Ventas------------

Este formato ayuda a que el título destaque, rodeado de guiones para llamar la atención.

  • Formateo de datos tabulares: puedes usar str.center para reportes o cuando imprimes tablas para centrar los valores, en vez de alinearlso a la izquierda:
header = "Producto"
value = "Manzana"
print(header.center(20, "="))
print(value.center(20, "="))

El resultado:

=====Producto=====
====Manzana=====
  • Interfaces de consola o aplicaciones de texto: Si desarrollas aplicaciones de consola, en especial aquellas que usan menús u opciones, el str.center() puede servirte mucho para crear una salida mejor y más limpia:
menu = "Seleccione una opción"
print(menu.center(50, "-"))

El resultado sería:

--------------------Seleccione una opción--------------------

Algunas consideraciones al usar str.center()

  • Si el valor de length que proporcionas es menor que la longitud de la cadena original, la cadena no se truncará. Simplemente se devolverá tal cual, sin modificaciones:
txt = "banana"
x = txt.center(3)
print(x) # Salida: 'banana'
  • Si no especificas un carácter para rellenar el espacio, str.center() usará espacios en blanco por defecto. Asegúrate de elegir un carácter que haga que tu salida sea lo que esperas y aprovecha al máximo la s posibilidades de personalización.

Aprender sobre programación con nuestro curso sobre programación desde sus primeros pasos e inicia en el camino del desarrollo de aplicaciones rápidamente para que puedas conseguir un empleo más fácil y destaques en este campo. ¡Aprovecha todas las posibilidades que te brinda el mejor bootcamp en programación!

Ramón Maldonado

Full Stack Developer y Responsable de Formación base en KeepCoding.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Aprende a Programar desde Cero

Full Stack Jr. Bootcamp

Apúntate y consigue uno de los perfiles más demandados con Python en solo 4 meses.