
Manejando tipos de datos y conversiones con Python
Capítulo 3: Tipos de datos y conversiones
Empecemos viendo algo que quizás ya sabes, pero puede que otros no, ya que no lo dí en el curso básico de Python. Cómo ver los tipos de datos de las variables y también, algo sobre el tema de las conversiones en Python.
a = 10
print(type(a))
a = 10.55
print(type(a))
a = 'Programación Fácil'
print(type(a))
a = True
print(type(a))
a = None
print(type(a))
Este código simplemente muestra una variable a
que va cambiando de tipo de dato. Gracias al uso de type(), va mostrando en cada print() el tipo de dato que es la variable.
class 'int'
class 'float'
class 'str'
class 'bool'
class 'NoneType'
Cómo saber si una variable booleana es True o False en Python
Podemos crear un sencillo if else que nos diga si una variable booleana es True o False.
a = False
if a is True:
print("Verdadero")
else:
print("Falso")
a = True
if a is True:
print("Verdadero")
else:
print("Falso")
Falso
Verdadero
Cómo convertir tipos datos en Python
Pasemos a convertir tipos de datos.
Convertir un string en un integer
Primero cómo convertir un string que contenga un valor numérico a un integer.
a = "10"
a = int(a)
print(type(a))
class 'int'
Perfectamente, se puede almacenar el valor a convertir en otra variable directamente.
a = "10"
b = int(a)
print(type(a))
print(type(b))
class 'str'
class 'int'
Convertir un integer en un string
Ahora, veamos cómo convertir un integer en un string:
a = 10
b = str(a)
print(type(a))
print(type(b))
class 'int'
class 'str'
Convertir un float en un integer
Para transformar de float a integer se hace de la misma forma, con int(), solo que si lo hacemos, evidentemente, vamos a perder el valor decimal por el camino.
a = 10.565
b = int(a)
print(type(a))
print(type(b),b)
class 'float'
class 'int' 10
Convertir un string en un float
Siempre que un string contenga un valor decimal con un punto y no una coma, podrá ser transformado a float.
a = "10.565"
b = float(a)
print(type(a))
print(type(b),b)
Esta vez se imprime el tipo de dato de la variable b y su valor, para que veas que al convertir de string a float, no se pierden datos como era de esperar.
class 'str'
class 'float' 10.565
Cómo convertir listas, tuplas y sets
Pasamos a algo un poquito más interesante, la conversión entre listas, tuplas y sets.
Cómo crear una lista a partir de un string
Es posible almacenar cada carácter de un string formando una lista con un simple paso, con list().
a = "Programación Fácil"
b = list(a)
print(type(b),b)
Cada carácter ocupa una posición de la lista, hasta los espacios.
class 'list' ['P', 'r', 'o', 'g', 'r', 'a', 'm', 'a', 'c', 'i', 'ó', 'n', ' ', 'F', 'á', 'c', 'i', 'l']
Cómo convertir un string en una tupla.
Lo mismo podemos hacer como con la lista, solo hay que utilizar tuple() y nos crea una tupla.
a = "Programación Fácil"
b = tuple(a)
print(type(b),b)
class 'tuple' ('P', 'r', 'o', 'g', 'r', 'a', 'm', 'a', 'c', 'i', 'ó', 'n', ' ', 'F', 'á', 'c', 'i', 'l')
Cómo crear sets a partir de un string
Y lo mismo ocurre con los sets, solo que estos no son ordenados y no se repiten caracteres, en el caso de la "o" y la "a", realmente no se repiten como puedes pensar. Esto ocurre porqué para Python no es lo mismo "ó" y "á" que "o" y "a", ya que los trata como caracteres distintos.
a = "Programación Fácil"
b = set(a)
print(type(b),b)
El orden en que se muestra en la consola el set, es aleatorio, si lo ejecutas varias veces verás que van cambiando los caracteres de posición.
class 'set' {'ó', 'c', ' ', 'l', 'o', 'P', 'n', 'r', 'á', 'm', 'i', 'F', 'g', 'a'}
Aquí concluye este tercer capítulo, que para mucha gente quizás haya sido un tanto básico pero para otros puede no tanto. La cuestión es ir aprendiendo peculiaridades del lenguaje Python para conseguir dominarlo a fondo, poco a poco iré subiendo el nivel.
Comentarios
Si te quedan dudas sobre el temario, sobre Python, o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.