Cómo convertir a cadena (string) en Python: Métodos y ejemplos

A diferencia de C++ o Java, las variables en Python no contienen información de tipo explícita. Si una función requiere una cadena, puedes pasar variables de otros tipos sin error inmediato, aunque el código puede fallar al procesarlas. Los únicos tipos que suelen necesitar conversión explícita a cadena son estructuras compuestas como conjuntos (set) y listas (list). Python ofrece funciones y operadores cómodos para iterar sobre estructuras y concatenar a una variable string.

Lenguajes de tipado fuerte y dinámico

C++ y Java requieren declaraciones de tipo porque el compilador/entorno debe saber cómo tratar los datos. Estos lenguajes de tipado estático usan casting para convertir entre tipos. Python es de tipado dinámico: el intérprete infiere el tipo en tiempo de ejecución, así que simplemente asignas valores. Puedes reasignar una variable a un tipo distinto, y el recolector de basura elimina el objeto anterior.

Convertir estructuras de datos a cadenas

Si tu programa recopila texto en una lista, tupla o conjunto, puedes recorrer la estructura añadiendo elementos a una variable string. No es obligatorio declararla antes, pero simplifica el código. Ejemplo básico para convertir una lista a string:

ultimateQuestion = ""  # string vacía
tokens = ["What's ", 6, " times ", 9, "?"]  # lista con tipos mixtos y espacios
for t in tokens:
    ultimateQuestion += str(t)
print(ultimateQuestion)

El método str() en el bucle convierte enteros a cadena y no afecta a las que ya lo son. Al ejecutarse, imprime: "What's 6 times 9?"

Métodos integrados de cadena (built-in)

Python incluye muchos métodos en el tipo str nativo. Puedes llamarlos desde un literal de cadena. Para concatenar elementos de una lista, pasa la variable al método join de un literal:

tokens = ['Hello', 'World']  # tokens sin espacios
pyString = ' '.join(tokens)
print(pyString)

Este script invoca join desde el literal ' ' (un espacio). Concatena 'Hello' y 'World' insertando el espacio entre cada elemento, resultando en "Hello World".

Ámbito de variables (scope) en Python

Como en otros lenguajes de alto nivel, debes prestar atención al ámbito al declarar y asignar strings. Si declaras una variable dentro de una función o bucle, no podrás usarla fuera. Ejemplo:

for g in groceries:
    verticalList += g + '\n'  # string declarada dentro del bucle
print(verticalList)  # ¡Excepción! "verticalList" no definida fuera del bucle

El intérprete destruye verticalList al salir del bucle. Declara la variable antes del bucle si necesitas usarla después.