Introducción
Python es un lenguaje de programación que se utiliza a menudo para fines de integración de sistemas. Este lenguaje utiliza algo llamado ‘tipos de datos’. Estos tipos de datos ayudan a clasificar o definir un tipo de datos determinado. Esto significa que un tipo de datos particular pertenece a valores y operaciones específicos que se le pueden aplicar. Cada tipo de datos se programa y edita de una manera diferente. Esto se debe a que cada tipo de datos tiene una naturaleza diferente. Por ejemplo, es posible que esté tratando con cadenas o enteros.
El objetivo de esta guía es ayudarle a familiarizarse con los diversos tipos de datos en Python. No solo eso, sino que también tendremos una discusión detallada sobre cómo convertir los tipos de datos entre sí. Al final de este tutorial, debería conocer tipos de datos como números, cadenas, tuplas y listas, y cómo convertirlos.
Conversión de números
Cuando hablamos de números en Python, podemos estar refiriéndonos a una de dos opciones. Podemos estar tratando con enteros o flotantes. Puede haber ocasiones en las que necesite convertir uno en otro. Es posible convertir fácilmente enteros en números de coma flotante y flotantes en enteros.
-
Conversión: de enteros a flotantes
Primero, comenzaremos explorando cómo se pueden convertir enteros en flotantes. El medio para hacer esto es con un comando llamado float(). Esta función convertirá cualquier entero dado en un flotante con decimales. Todo lo que tiene que hacer es colocar el entero dentro de los paréntesis. Por ejemplo, supongamos que desea convertir el entero 57 en un tipo de datos flotante. Así es como procedería para convertirlo:
|
1 |
float(57) |
Como resultado de ejecutar este comando, el entero 57 cambiará al flotante 57.0.
Otra forma de hacer esto sería usar una variable. Puede denotar su entero a través de una variable y luego imprimir el flotante con el comando anterior. Digamos que declara la variable f para que sea igual a 57. Así es como iría la conversión en este caso:
|
1 2 3 |
f = 57 print(float(f)) |
|
1 2 3 |
Salida 57.0 |
-
Conversión: de flotantes a enteros
También es posible convertir flotantes en enteros. De manera similar al comando anterior, esta conversión se puede realizar utilizando la int() función. Al igual que la última vez, todo lo que tiene que hacer es agregar el número de coma flotante dentro de los paréntesis que siguen a la función.
In nuestro ejemplo, convertiremos el flotante 390 en un entero. Para hacer la conversión, ejecutaríamos el siguiente comando:
|
1 |
int(390.8) |
Como resultado de ejecutar esta función, 390 cambiará a su forma flotante: 390.8.
Asimismo, puede realizar la conversión con la ayuda de variables. No solo eso, sino que también puede realizar múltiples conversiones al mismo tiempo. Supongamos que b es igual a 125.0 y c es igual a 390.8. Así es como imprimiría estos valores de coma flotante:
|
1 2 3 4 5 |
b = 125.0 c = 390.8 print(int(b)) print(int(c)) |
|
1 2 3 4 |
Salida 125 390 |
Como puede ver, los enteros se han convertido con éxito en flotantes.
Una cosa importante a recordar durante la conversión de flotante a entero es que la función no redondea los valores. Esto significa que la parte decimal del flotante simplemente se elimina. La función no redondeará un valor como 390.8 a 390; simplemente eliminará las 0.8 unidades para darle un entero.
-
Conversión: mediante división
También es posible convertir enteros a flotantes mediante la división. Dividir enteros entre sí puede darle un cociente que es un número de coma flotante. Por ejemplo, al dividir 5 entre 2, la respuesta que recibirá será 2.5, que es un flotante. Eche un vistazo:
|
1 2 |
a = 5 / 2 print(a) |
|
1 2 3 |
Salida 2.5 |
Esta es una característica especial de Python 3. En Python 2, realizar tal división le daría un entero como respuesta únicamente, de esta manera: 5 / 2 = 2.
Conversión con cadenas
Antes de comenzar a hablar sobre cómo realizar la conversión con cadenas, necesitas saber qué son realmente las cadenas. Si aún no lo sabes, las cadenas son secuencias de caracteres. Puede ser una cadena de letras, números, símbolos o cualquier otro carácter. Es posible que conozcas las cadenas en relación con los datos informáticos. Esto se debe a que las computadoras utilizan con frecuencia este tipo de datos para realizar sus operaciones.
Si estás tratando con datos generados por el usuario, necesitarás realizar estas conversiones a menudo. Por eso es útil saber cómo cambiar números a cadenas y convertir cadenas en números.
-
Conversión: de números a cadenas
Puedes usar la str() función para convertir números en cadenas. Al igual que antes, colocarás el valor que deseas convertir dentro de los paréntesis. Este valor puede ser un número o una variable. Para empezar, observemos cómo convertirías un entero, como 12, en un valor de cadena:
|
1 |
str(12) |
|
1 2 3 |
Salida '12' |
Como puedes ver, la salida muestra un valor de cadena. El valor de cadena está denotado por las comillas.
Por otro lado, también puedes colocar variables dentro de la función en lugar de enteros. Aquí es donde la función se vuelve realmente útil. Por ejemplo, considera que deseas realizar un seguimiento e informar cuántas líneas de código está escribiendo un usuario en un período de tiempo determinado. Para mostrar esta información al usuario, necesitas imprimir tanto la cadena como los valores enteros, así:
|
1 2 3 4 |
user = "Sammy" lines = 50 print("¡Felicitaciones, " + user + "! Acabas de escribir " + lines + " líneas de código.") |
Desafortunadamente, si intentas ejecutar el código anterior, recibirás un error como este:

Esto significa que necesitas convertir la variable de lines en un valor de cadena para poder ejecutar el código.
|
1 2 3 4 |
user = "Sammy" lines = 50 print("¡Felicitaciones, " + user + "! Acabas de escribir " + str(lines) + " líneas de código.") |
Ahora que has colocado la función de conversión, podrás ejecutar el comando con éxito. Verás algo como lo siguiente como salida:
|
1 2 3 |
Salida Felicitaciones, Sammy! Acabas de escribir 50 líneas de código. |
Del mismo modo, si deseas agregar un número de punto flotante en lugar de un entero a una cadena, tienes que hacer lo mismo. Al igual que antes, puedes agregar el valor directamente o usar una variable. Por ejemplo:
|
1 2 3 |
print(str(421.034)) f = 5524.53 print(str(f)) |
|
1 2 3 4 |
Salida 421.034 5524.53 |
Si quieres asegurarte de que el valor sea correcto, puedes concatenarlo con una cadena como esta:
|
1 2 |
f = 5524.53 print("Sammy tiene " + str(f) + " puntos.") |
|
1 2 3 |
Salida Sammy tiene 5524.53 puntos. |
Como no recibiste ningún error, significa que la conversión fue exitosa.
-
Conversión: de cadenas a números
Del mismo modo, también puedes convertir cadenas en números. Si tu cadena no tiene decimales, es mejor que la conviertas en un entero. Puedes convertirla en enteros usando la int() función.
Continuaremos usando nuestro ejemplo anterior de la conversión de enteros. Por lo tanto, considera que un usuario llamado Sammy quiere realizar un seguimiento diario de su progreso en la escritura de código. Como programador, deseas presentar esta información al usuario de una manera creativa. Pero dado que estos valores se almacenan como cadenas, no puedes aplicarles algunos operandos básicos como – (resta). Puedes observar esto en lo siguiente:
|
1 2 3 4 5 6 |
lines_yesterday = "50" lines_today = "108" lines_more = lines_today - lines_yesterday print(lines_more) |

Como puedes ver, el operando no funciona con los valores de cadena. En su lugar, recibes un error. Para poder trabajar con los valores, necesitas convertir las cadenas a enteros usando la int() función:
|
1 2 3 4 5 6 |
lines_yesterday = "50" lines_today = "108" lines_more = int(lines_today) - int(lines_yesterday) print(lines_more) |
|
1 2 3 |
Salida 58 |
Aquí, lines_more es una variable. Esta variable es un entero e igual al valor resultante que, en nuestro ejemplo, es 58.
Por otro lado, puedes convertir las cadenas en flotantes usando la función float() si hay decimales. En este ejemplo, usaremos los puntos que el usuario Sammy está ganando en lugar del número de líneas que está escribiendo. Los puntos se anotan con puntos decimales:
|
1 2 3 4 5 6 |
total_points = "5524.53" new_points = "45.30" new_total_points = total_points + new_points print(new_total_points) |
|
1 2 3 |
Salida 5524.5345.30 |
Aunque la salida no se presenta como un error, sigue sin ser correcta. El operando + o suma funcionó en este caso. Pero en lugar de sumar los dos números, simplemente ha colocado los dos valores de cadena uno al lado del otro.
Es por eso que necesitas convertir estas cadenas en valores flotantes primero usando la función float() :
|
1 2 3 4 5 6 |
total_points = "5524.53" new_points = "45.30" new_total_points = float(total_points) + float(new_points) print(new_total_points) |
|
1 2 3 |
Salida 5569.83 |
Como puedes observar arriba, los dos valores se suman. Recuerda: si intentas convertir un valor de cadena en decimales a un entero, obtendrás un error como este:
|
1 2 |
f = "54.23" print(int(f)) |

Por lo tanto, primero debes convertir el tipo de datos de cadena en números. Luego, puedes realizar otras operaciones y convertir el valor numérico con facilidad.
Conversión a tuplas y listas
Las listas y tuplas son algunos otros tipos de datos que puedes usar en Python 3. Ambos consisten en una secuencia de elementos. La diferencia entre los dos es que mientras una lista es mutable, una tupla es inmutable. Además, mientras que los elementos de una lista se colocan entre corchetes [ ], los de una tupla se colocan entre paréntesis ( ).
-
Conversión: de listas a tuplas
Antes que nada, exploremos cómo puedes convertir una lista en una tupla. Es posible que necesites realizar esta conversión si requieres un tipo de datos inmutable. Para este propósito, necesitarás usar la función tuple():
|
1 |
print(tuple(['pull request', 'open source', 'repository', 'branch'])) |
|
1 2 3 |
Salida ('pull request', 'open source', 'repository', 'branch') |
Como puedes ver, los elementos de la lista ahora están en una tupla. Esto se muestra por los paréntesis que encierran los elementos.
También puedes usar la función tuple() con una variable que equivale a la lista de elementos:
|
1 2 3 |
sea_creatures = ['shark', 'cuttlefish', 'squid', 'mantis shrimp'] print(tuple(sea_creatures)) |
|
1 2 3 |
Salida ('shark', 'cuttlefish', 'squid', 'mantis shrimp') |
De manera conveniente, puedes convertir cualquier tipo de datos en una tupla. Por ejemplo, así es como convertirías una cadena en una tupla:
|
1 |
print(tuple('Sammy')) |
|
1 2 3 |
Salida ('S', 'a', 'm', 'm', 'y') |
Las cadenas se pueden convertir en tuplas porque son iterables. Como es de esperar, los tipos de datos no iterables no se pueden convertir en tuplas. Supongamos que deseas convertir algunos enteros o un flotante en una tupla. Si fueras a ejecutar la función tuple(), recibirás un error como este:
|
1 |
print(tuple(5000)) |
|
1 2 3 |
Salida TypeError: 'int' object is not iterable |
El error de tipo muestra que el número entero no es iterable. Por eso no se puede realizar la conversión. Una forma complicada sería convertir primero el número entero en una cadena y luego en una tupla. Podría hacer esto con la siguiente función: tuple(str(5000)). Pero recomendamos evitar tales complicaciones.
-
Conversión: de tuplas a listas
Por el contrario, es posible que deba convertir una tupla en una lista si necesita datos mutables. Para este propósito, utilizará la función list() de la siguiente manera:
|
1 |
print(list(('blue coral', 'staghorn coral', 'pillar coral'))) |
|
1 2 3 |
Salida ['blue coral', 'staghorn coral', 'pillar coral'] |
La presencia de los corchetes indica que la salida resultante es una tupla. Al escribir el código para convertir una tupla en una lista usando list(), debe asegurarse de incluir paréntesis para el método list() así como para el método print(). Sin embargo, eso hace que el código sea un poco ilegible. Para hacerlo menos complicado, puede eliminar un par de paréntesis utilizando una variable en su lugar:
|
1 2 3 |
coral = ('blue coral', 'staghorn coral', 'pillar coral') list(coral) |
Al igual que con las tuplas, también puede convertir cadenas directamente en listas:
|
1 |
print(list('shark')) |
|
1 2 3 |
Salida ['s', 'h', 'a', 'r', 'k'] |
Conclusión
Esta guía le ayudará si está buscando formas de convertir tipos de datos en Python 3. Analizamos en gran detalle los diferentes tipos de datos y cómo se pueden convertir entre sí utilizando funciones integradas de Python. Conocer estas conversiones ayudará a que su experiencia de programación sea mucho más fácil y completa.
Para explorar más a fondo lo que puede hacer con Python, siga nuestras otras guías:
- Consulte cómo instalar Python 3 y configurar un entorno de programación local en Ubuntu 16.04.
- Siga leyendo para aprender cómo extraer datos de Twitter usando Python.
- Aprenda cómo recuperar datos de NASDAQ por minuto usando Python.
- También puede consultar cómo utilizar el script de Python de CloudSigma para automatizar la conversión de una instantánea de disco en un disco completo en nuestra plataforma.
¡Feliz computación!
Comentarios
Aún no hay comentarios. Sea el primero.