¿Qué significa la expresión str en Python?

Contenido del Bootcamp Dirigido por: | Última modificación: 22 de octubre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

La expresión str en Python puede significar varias cosas. En este caso queremos explicarte sobre la función str(), que tiene el objetivo de convertir casi cualquier cosa en una cadena de texto. En este artículo te explicaremos esta función str en python y cómo puedes optimizar su uso.

str en Python?
Imagen: scientecheasy

¿Qué es la función str en Python?

La función str en python hace la conversión de cualquier tipo de dato en su representación en forma de cadena (string). Ya sea que se trate de un número, de una lista o incluso un objeto personalizado, el str en python siempre devolverá una versión en formato texto de ese valor. Veamos su sintaxis:

str(objeto)

Donde objeto es el valor o variable que quieres convertir en una cadena.

¿Qué usos podemos darle a la función str en python?

Existen varios usos que le podemos dar a la función str en python , entre los que encontramos:

Convertir números a cadenas

Sea que tengas que imprimir las cadenas en pantalla o para almacenarlos en formato legible, puedes hacer uso del str en python. Veamos:

numero = 42
cadena_numero = str(numero)
print(cadena_numero) # Salida: "42"

Como puedes ver, str() toma el número entero 42 y lo convierte en la cadena «42». Lo mismo aplica para números decimales:

numero_decimal = 3.14159
cadena_decimal = str(numero_decimal)
print(cadena_decimal) # Salida: "3.14159"

Convertir listas, tuplas y otros objetos a cadenas

🔴 ¿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

Otra funcionalidad interesante de str() es que puedes aplicarla a colecciones como listas y tuplas. Puedes hacer uso de ella si quieres imprimir o mostrar su contenido en formato de texto.

lista = [1, 2, 3]
cadena_lista = str(lista)
print(cadena_lista) # Salida: "[1, 2, 3]"

Lo mismo funciona con tuplas y otros objetos:

tupla = (4, 5, 6)
cadena_tupla = str(tupla)
print(cadena_tupla) # Salida: "(4, 5, 6)"

En estos casos, la función str() convierte la lista y la tupla en representaciones de texto que se pueden mostrar o almacenar fácilmente.

El método str() y su personalización

Str no solo tiene la capacidad de convertir valores predefinidos como números y listas, sino que también puede usarse dentro de objetos personalizados. Esto se puede lograr mediante la personalización del método __Str___() al interior de una clase.

Dicho método es el encargado de definir cómo queremos que se vea nuestra representación en la cadena de objeto. Veamos un ejemplo:

class Persona:
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad

def __str__(self):
return f"{self.nombre}, {self.edad} años"

persona = Persona("Alice", 30)
print(str(persona)) # Salida: "Alice, 30 años"

En este caso creamos una clase Persona y definimos el método __str__() para que devuelva una cadena con el nombre y la edad de la persona. Así, cuando llamamos a str() sobre una instancia de la clase, obtenemos una versión en cadena bien formateada.

¿Cómo funciona str() detrás de cámaras?

De forma interna, cuando se llama a str() en un objeto, lo que pasa es que Python hace una invocación del método __str__() de este objeto. Si el objeto no tiene método __str__(), entonces python tiene que recurrir al método __repr__() como una alternativa. Al personalizar el __Str__() es posible controlar cómo queremos que nuestro objeto se muestre en formato de texto.

Diferencias entre str() y repr()

Si bien son similares, vale la pena aclarar algunas diferencias entre ambos conceptos:

  • str() está diseñado para devolver una representación legible y amigable del objeto. Es la versión que usarías para mostrar información al usuario.
  • repr() devuelve una representación más detallada y precisa del objeto, pensada principalmente para los desarrolladores y para la depuración de código.

Si has comprendido estas temáticas y te ha interesado el tema lo suficiente como para husmear en internet, te queremos contar que tenemos el bootcamp que te va a cambiar la vida por completo. Se trata del curso en programación desde cero que tiene Keepcoding para brindarte. Aquí aprenderás desde lo más básico hasta conceptos avanzados para que te inicies en el mundo de la programación. ¡No retrases más la oportunidad de adquirir conocimiento y cambiar tu vida!

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.