02. Python: tipos de datos inmutables

Publicado por

El día de hoy les voy a platicar los tipos de datos más importantes que se pueden utilizar en Python. Este lenguaje cuenta con una gran variedad de tipos de datos, lo que le da más flexibilidad al programador para resolver diversos problemas.

Todos los tipos de datos en Python son objetos, sin embargo, no todos se comportan de la misma forma, algunos de ellos pueden ser mutables y otros no; esto significa que no todos los tipos de datos pueden ser modificados. En esta nota les explicaré particularmente los tipos de datos inmutables y en la siguiente entrega los mutables.

Tipos de datos inmutables

No es posible cambiar, modificar o actualizar el contenido a un tipo de dato inmutable, aunque como en cualquier variable es posible asignarle un nuevo valor. Veamos el siguiente ejemplo:

Supongamos que tenemos una cadena.

cadena = 'Hola mundo'
print cadena

Cadena en Python

Si se quiere cambiar la letra m y sustituirla por M, no es posible con este tipo de dato, lo que se puede hacer es asignar la nueva cadena a esa misma variable.

cadena = 'Hola Mundo'
print cadena

Pero no podemos iterar caracter por caracter para cambiar una parte o segmento de la cadena. Es precisamente esta la diferencia entre los tipos de datos inmutables y mutables.

Cadena inmutable en Python

Objetos inmutables más comunes

int

Representa números enteros positivos y negativos.

numero = 10
print numero
type(numero)

int en Python

long

Representa números enteros de cualquier tamaño, solo teniendo como limitante la memoria de la computadora que se esté utilizando. Para diferenciar que una asignación es de tipo long se debe escribir una L al final del número.

entero_largo = 10L
print entero_largo
type(entero_largo)

long en Python

float

Representa números reales. A diferencia de otros lenguajes de programación, en Python solo basta con esta representación para los números con decimales, sea cual sea su tamaño.

real = 10.10
print real
type(real)

float en Python

complex

Representa números complejos, aquellos que tienen una parte imaginaria. Esta es una característica que se destaca de Python, ya que no en todos los lenguajes de programación existe una representación de estos números.

complejo = 10.7 + 7.10j
print complejo
type(complejo)

complex en Python

bool

Representa tipos booleanos, es decir, que solo puede almacenar los valores True (verdadero) y False (falso). Son principalmente utilizados en condicionales y ciclos.

booleano = bool(7 or 10)
print booleano
type(booleano)

bool en Python

string

Representa cadenas de texto, para asignarlas deben estar entre comillas simples o dobles.

cadena = 'Hola mundo'
print cadena
type(cadena)

cadena = "Hola mundo"
print cadena
type(cadena)

string en Python

tuple

Representa una colección ordenada de elementos.

tupla = (1,2,3,4,5)
print tupla
type(tupla)

tuple en Python

frozenset

Representa un conjunto inmutable, es un conjunto que no puede ser modificado después de haberlo creado. Hago particular énfasis en este tipo de dato ya que puede ser confundido con el tipo de dato set que representa un conjunto mutable, del cual les hablaré en la siguiente nota.

conjunto_estatico = frozenset({1,2,3,4,5})
print conjunto_estatico
type(conjunto_estatico)

conjunto_estatico = frozenset([1,2,3,4,5])
print conjunto_estatico
type(conjunto_estatico)

frozenset en Python

Es importante colocar el conjunto como una colección ya sea con llaves {}, con corchetes [], con paréntesis () o entre comillas «»; ya que este tipo de dato toma a todo el conjunto como un solo elemento y si prescindimos de estos, el intérprete pensará que le estamos pasando varios argumentos y nos lanzará un error.

frozenset-coleccion-python

Para tomar en cuenta

Como te habrás dado cuenta, la función type() permite saber de qué tipo es el dato que está almacenando una variable. 

Otra función que te puede ser de mucha utilidad, sobre todo si estás comenzado a utilizar este lenguaje, es la función help(), para utilizarla basta con escribir help(objeto).

help(frozenset)

help frozenset en Python

Si quieres saber más sobre los tipos de datos que aquí te presenté, puedes apoyarte con la función help() para conocer más sobre ellos.

El intérprete que utilicé en esta ocasión es bpython si quieres conocer más sobre él puedes visitar su página.

Finalmente recuerda que esta temporada es parte de la serie Administración de sistemas GNU/Linux y esa es la principal razón por la que todo el contenido expuesto en esta temporada es de Python 2, ya que muchos servidores todavía manejan esta versión. Espero que estas notas estén siendo de tu interés, la siguiente nota tratará sobre los tipos de datos mutables. ¡Hasta entonces!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *