En el emocionante mundo de la programación en Python, los tipos de datos juegan un papel crucial en la construcción de aplicaciones sólidas y eficientes. Como uno de los lenguajes de programación más populares y versátiles, Python ofrece una amplia gama de tipos de datos incorporados que facilitan la manipulación y el almacenamiento de información.

En este artículo de blog, exploraremos los diferentes tipos de datos disponibles en Python, desde los más básicos como números y cadenas de texto hasta estructuras de datos más avanzadas. Sumérgete con nosotros en el fascinante mundo de los tipos de datos en Python y descubre por qué son fundamentales para la programación en este lenguaje. Comprender sus características, por lo tanto, es esencial para escribir programas efectivos y eficientes.

¡Comencemos!

    << [Guía gratuita] >> Introducción al lenguaje de programación Python  


Qué son los tipos de datos en Python

Un tipo de dato se refiere a la clasificación de los valores que pueden ser almacenados en una variable. Cada tipo de dato tiene características y propiedades específicas que lo hacen adecuado para ciertos usos y operaciones.

Los tipos de datos también se utilizan para determinar cómo se almacenan los valores en la memoria de la computadora y cómo se pueden manipular y operar los valores. Por ejemplo, los números enteros se almacenan como secuencias de bits en la memoria, y se pueden realizar operaciones aritméticas como suma, resta, multiplicación y división.

Tipos de datos numéricos

int

Los datos tipo int (abreviatura de «entero»), en Python, son aquellos que representan números enteros. Estos son un tipo de número que no tiene parte decimal, es decir, son completos sin fracciones. En Python, los datos tipo int se representan simplemente escribiendo un número sin parte decimal. Por ejemplo:

1, 2, 3, 4, 5

Los datos tipo int se utilizan para realizar operaciones matemáticas, como sumas, restas, multiplicaciones y divisiones, así como para realizar comparaciones entre números enteros. Al trabajar con datos tipo int en Python, es importante tener en cuenta que el resultado de algunas operaciones puede ser de tipo flotante si se utiliza la división. Por ejemplo, si se divide 7 entre 2 en Python, el resultado es 3.5, que es un número tipo float. Si se quiere obtener solo la parte entera del resultado, se puede utilizar la función «división entera» (//), que devuelve el resultado entero de la división. Por ejemplo, 7 // 2 devuelve 3 (que es el resultado entero de la división).

float

Los datos tipo float (abreviatura de «coma flotante»), en Python, son aquellos que representan números con decimales. En otras palabras, los datos tipo float son números reales que pueden tener una parte entera y una parte decimal. En Python, los datos tipo float se representan escribiendo un número con un punto decimal. Por ejemplo:

1.23, 3.14, 45.5, -12.34

Los datos tipo float se utilizan para realizar operaciones matemáticas que involucran números con decimales. Al trabajar con estos, es importante tener en cuenta que algunos cálculos pueden arrojar una precisión limitada, debido a la forma en que se almacenan los números en la memoria de la computadora. En general, los números tipo float tienen una precisión de alrededor de 15-17 dígitos decimales. Además, al realizar cálculos con números tipo float, es posible que se produzcan errores de redondeo o de exactitud que pueden afectar los resultados de la operación.

complex

Los datos tipo complex (abreviatura de «números complejos»), en Python, son aquellos que representan números que tienen una parte real y una parte imaginaria. En matemáticas, los números complejos se definen como la suma de una parte real y una parte imaginaria multiplicada por la unidad imaginaria (que se denota como «i» o «j»).

Los datos tipo complex se representan escribiendo un número real seguido por una «j» para indicar la parte imaginaria.

Los siguientes, son ejemplos de datos tipo complex en Python:

3 + 2j, -7.5 - 1j, 2j

Se utilizan para realizar operaciones matemáticas que involucran números complejos. Python tiene funciones incorporadas para trabajar con números complejos, como la función abs() para calcular el valor absoluto de un número complejo y la función conjugate() para calcular el conjugado de un número complejo.

Es importante tener en cuenta que Python, al igual que la mayoría de los lenguajes de programación, utiliza una notación diferente para la unidad imaginaria en comparación con la notación matemática tradicional. En lugar de i, Python utiliza j, para denotar la unidad imaginaria.

Tipos de texto

str

Los datos tipo str (abreviatura de «cadena de caracteres» o «string»), en Python, son aquellos que representan una secuencia de caracteres. En otras palabras, los datos tipo string son texto que se puede representar mediante una serie de caracteres (letras, números, símbolos, etcétera). Los datos tipo string se representan entre comillas simples ('') o dobles ("").

Los siguientes son ejemplos de datos tipo str en Python:

"Hola mundo", 'Python es genial', "1234".

Los datos tipo string se utilizan para almacenar texto y manipular cadenas de caracteres. Python tiene muchas funciones incorporadas a fin de trabajar con cadenas de caracteres, como la función len() para obtener la longitud de una cadena y la función split() para dividir una cadena en una lista de subcadenas separadas por un carácter específico.

Es importante tener en cuenta que en Python, las cadenas de caracteres son inmutables; es decir, no se pueden modificar una vez creadas. Si se necesita manipular una cadena de caracteres, se hace una nueva con los cambios deseados.

Tipos booleanos

bool

Los datos tipo bool (abreviatura de «booleanos»), en Python, son aquellos que representan valores de verdad. En otras palabras, son valores verdaderos o falsos. En Python, los datos tipo bool se representan como True o False (con la primera letra en mayúscula).

Por ejemplo:

True, False

Se utilizan principalmente en expresiones lógicas y de control de flujo, como en declaraciones if y while. Las expresiones lógicas en Python pueden evaluar a un valor verdadero o falso, y se utilizan para tomar decisiones en el código.

Además de los valores True y False, Python tiene algunas funciones incorporadas que devuelven valores booleanos, como la función «bool()», que devuelve True si el argumento que se le pasa es verdadero, y False si el argumento es falaz.

Tipos de secuencias

list

Los datos tipo list (abreviatura de «listas»), en Python, son aquellos que representan una colección ordenada de elementos. En otras palabras, las listas son una estructura de datos que permite almacenar múltiples valores en un solo objeto y acceder a ellos por su posición en la lista.

En Python, los datos tipo lista se representan mediante corchetes «[ ]» que contienen los elementos de la lista separados por comas. Los elementos pueden ser de cualquier tipo de datos, incluyendo otros objetos, como otras listas.

Por ejemplo:

[1, 2, 3, 4, 5], ['a', 'b', 'c'], [1, 'a', True, [2, 3, 4]]

Los datos tipo lista se utilizan para almacenar y manipular colecciones de datos. Python tiene muchas funciones y métodos incorporados a fin de trabajar con listas, como la función len() para obtener la longitud de una lista y los métodos append() y extend() para agregar elementos a una lista.

Es importante tener en cuenta que las listas en Python son mutables, lo que significa que se pueden modificar una vez que se han creado. Esto permite agregar, eliminar o modificar elementos en una lista.

tuple

Los datos tipo tuple (abreviatura de «tuplas»), en Python, son similares a las listas, pero a diferencia de las listas, son inmutables. En otras palabras, las tuplas son una estructura de datos que permite almacenar múltiples valores en un solo objeto y acceder a ellos por su posición en la tupla, pero una vez creada la tupla, los elementos no pueden modificarse.

Los datos tipo tupla se representan mediante paréntesis «( )» que contienen los elementos de la tupla separados por comas. Los elementos pueden ser de cualquier tipo de datos, incluyendo otros objetos, como otras tuplas.

Por ejemplo:

(1, 2, 3, 4, 5), ('a', 'b', 'c'), (1, 'a', True, (2, 3, 4))

Los datos tipo tupla se utilizan principalmente para almacenar datos que no deben ser modificados una vez creados, como una fecha o coordenadas geográficas. Python tiene algunas funciones incorporadas a fin de trabajar con tuplas, como la función len() para obtener la longitud de una tupla y la función tuple() para crear una tupla a partir de una lista u otro iterable.

Es importante tener en cuenta que las tuplas en Python son inmutables; es decir, que no se pueden modificar una vez que se han creado. Si se necesita manipular una colección de datos, se debe usar una lista en su lugar.

range

Los datos tipo range, en Python, representan una secuencia inmutable de números enteros. Un objeto de tipo range se utiliza comúnmente para generar una secuencia de números enteros para su uso en un bucle for.

La función range() devuelve un objeto de tipo range. El objeto range toma tres argumentos: el valor inicial, el valor final (no incluido en la secuencia) y el tamaño del paso. Por defecto, el valor inicial es 0 y el tamaño del paso es 1.

Por ejemplo:

range(0, 10, 1), range(0, 10), range(1, 11, 2)

El primer ejemplo crea un objeto range que representa la secuencia de números enteros del 0 al 9 (inclusivo) con un tamaño de paso de 1. El segundo ejemplo es equivalente al primer ejemplo, ya que el valor inicial y el tamaño del paso se asumen como 0 y 1, respectivamente, por defecto. El tercer ejemplo crea un objeto range que representa la secuencia de números enteros del 1 al 9 (inclusivo) con un tamaño de paso de 2.

Tipos de mapeo

dict

Los datos tipo dict (abreviatura de «diccionario»), en Python, son una estructura de datos que permite almacenar un conjunto de datos como pares clave-valor, donde cada valor es accesible a través de una clave única. En otras palabras, los diccionarios permiten asociar valores con claves.

Los datos tipo dict se representan mediante llaves «{ }» que contienen una serie de pares clave-valor separados por comas y cada par se separa por dos puntos «:». Las claves en un diccionario son únicas y pueden ser de cualquier tipo inmutable, como una cadena, un número entero o una tupla. Los valores también pueden ser de cualquier tipo de datos.

Por ejemplo:

{'nombre': 'Juan', 'edad': 25, 'ciudad': 'Madrid'}, {1: 'uno', 2: 'dos', 3: 'tres'}, {(1, 2): 'valor de la tupla', 'clave': [1, 2, 3]}

En Python, los diccionarios son útiles para almacenar y acceder a datos de manera eficiente. Los datos pueden ser accedidos en un diccionario utilizando su clave, como en el siguiente ejemplo:

d = {'nombre': 'Juan', 'edad': 25, 'ciudad': 'Madrid'}

print(d['nombre']) # salida: 'Juan'

También es posible modificar los valores en un diccionario, agregar nuevos pares clave-valor y eliminar pares clave-valor existentes. Los diccionarios son muy versátiles y se utilizan ampliamente en programación.

Tipos de conjuntos

set

Los datos tipo set, en Python, son una colección de elementos únicos e inmutables; es decir, no debe haber duplicados en un conjunto y no se pueden cambiar después de ser creados. Un conjunto se crea utilizando llaves «{ }» o la función set() y los elementos se separan por comas.

Por ejemplo:

{1, 2, 3, 4, 5}{

'hola', 'mundo', 'python'}

set([1, 2, 3, 4])

En el primer ejemplo se crea un conjunto con los elementos 1, 2, 3, 4 y 5; en el segundo, un conjunto con las cadenas ‘hola’, ‘mundo’ y ‘python’; y en el tercero, un conjunto a partir de una lista con los elementos 1, 2, 3 y 4.

Los conjuntos en Python son útiles para realizar operaciones de conjuntos como la unión, la intersección, la diferencia y la comprobación de pertenencia. También se pueden usar para eliminar duplicados de una lista o para encontrar elementos únicos en una secuencia.

Por ejemplo, la siguiente secuencia de código utiliza conjuntos para eliminar duplicados de una lista:

lista = [1, 2, 3, 4, 4, 3, 5, 6, 6]

conjunto = set(lista)

lista_sin_duplicados = list(conjunto)

print(lista_sin_duplicados) # salida: [1, 2, 3, 4, 5, 6]

frozenset

Los datos tipo frozenset son similares a los conjuntos (sets), pero son inmutables; es decir, una vez creados no se pueden modificar. Se crean utilizando la función frozenset() y se usan para almacenar elementos únicos, como los conjuntos.

A diferencia de los conjuntos, los datos tipo frozenset se pueden utilizar como elementos de diccionarios, ya que son inmutables y, por lo tanto, hashables. Además, los datos tipo frozenset es factible usarlos como elementos de otros conjuntos, ya que también son inmutables.

Aquí hay algunos ejemplos de datos tipo frozenset en Python:

fset = frozenset([1, 2, 3, 4])

print(fset) # salida: frozenset({1, 2, 3, 4})

fset2 = frozenset(('hola', 'mundo', 'python'))

print(fset2) # salida: frozenset({'hola', 'mundo', 'python'})

En el primer ejemplo, se crea un frozenset con los elementos 1, 2, 3 y 4; y en el segundo, un frozenset con las cadenas 'hola', 'mundo' y 'python'. Al ser inmutables, no se pueden agregar o quitar elementos de un frozenset después de que se ha creado.

Tipos de bytes

bytes

Los datos tipo bytes, en Python, son una secuencia inmutable de bytes. Representan una cadena de bytes en bruto y se utilizan principalmente para trabajar con datos binarios como archivos, sockets de red, criptografía, entre otros.

Los datos tipo bytes se pueden crear utilizando una sintaxis de prefijo antes de la cadena de bytes o utilizando la función bytes(). Los elementos de los datos tipo bytes son enteros en el rango de 0 a 255.

Aquí hay algunos ejemplos de datos tipo bytes en Python:

b = b'hola'

print(b) # salida: b'hola'

b2 = bytes([0x68, 0x6f, 0x6c, 0x61])

print(b2) # salida: b'hola'

En el primer ejemplo se crea un objeto bytes utilizando la sintaxis de prefijo b; y en el segundo, un objeto bytes utilizando la función bytes() y una lista de enteros que representan los códigos ASCII de los caracteres 'h', 'o', 'l' y 'a'.

Los datos tipo bytes se pueden utilizar para codificar y decodificar datos binarios, y también a fin de realizar operaciones binarias, como XOR y desplazamiento de bits. Además, los datos tipo bytes es factible convertirlos a objetos bytearray, que son mutables.

bytearray

Los datos tipo bytearray, en Python, son similares a los datos tipo bytes, pero son mutables; es decir, una vez creados se pueden modificar. Los datos tipo bytearray se utilizan para representar secuencias de bytes modificables, como archivos binarios, buffers de red, entre otros.

Los datos tipo bytearray se pueden crear utilizando la función bytearray(). Al igual que los datos tipo bytes, los elementos de los datos tipo bytearray son enteros en el rango de 0 a 255.

Aquí hay algunos ejemplos de datos tipo bytearray en Python:

b_arr = bytearray(b'hola')

print(b_arr) # salida: bytearray(b'hola')

b_arr[1] = 111 # cambia el segundo elemento a 'o'

print(b_arr) # salida: bytearray(b'oola')

b_arr2 = bytearray([104, 111, 108, 97])

print(b_arr2) # salida: bytearray(b'hola')

En el primer ejemplo se crea un objeto bytearray utilizando la función bytearray(). En el segundo, se modifica el siguiente elemento del objeto bytearray a 'o'. En el tercero, se crea un objeto bytearray utilizando una lista de enteros que representan los códigos ASCII de los caracteres 'h', 'o', 'l' y 'a'.

Los datos tipo bytearray se pueden utilizar para realizar operaciones binarias, como XOR y desplazamiento de bits, y también convertir a objetos bytes, que son inmutables.

Tipos de datos en Python

Los diferentes tipos de datos en Python tienen sus propias propiedades y métodos únicos, lo que permite a los programadores manipular y trabajar con ellos de diversas maneras. Entonces, ahora que conoces los tipos de datos disponibles, podrás elegir el más adecuado para el trabajo que deseas realizar.

Introducción a Python
Introducción al lenguaje de Python

Publicado originalmente el 12 de abril de 2023, actualizado el 14 de abril de 2023

Topics:

Python