Python (Parte 3) – Tipos de datos

por | 23 mayo, 2016

Aunque Python es un lenguaje muy flexible en cuestión de tipologías de datos, en este artículo detallaremos distintas opciones que pueden resultarnos interesantes a futuro, entre estos tipos se encontrarán los datos numéricos, textos, listas, tuplas y mapas o diccionarios.

Antes de empezar con los tipos de datos distinguiremos dos formas de declarar variables para ahorrar esfuerzos y líneas en nuestro código:

1. Declaración simple: Es el modo de uso más común por el cual definiremos el valores de una variable con una asignación tal como a = 

2. Declaración múltiple: Existen dos posibles opciones

Opción 1 → Asignación de valor único a varias variables en una única línea:

a = b = c = 1

print(a)

print(b)

print(c)

tipos_datos0

Opción 2 → Asignación de valores distintos sobre diferentes variables en una única línea:

a, b, c, d, e, f = «queso», «que»,»eso», «cigarral», «es», «el»

Texto = «¿» + b + » » +  e + » » + c + «?, » + c + » » +  e + » » + a + » ¿» + b + » » + a + » » + e + «? – » + a + » » + f + » » + d + «.»

print (Texto)

tipos_datos1

Una vez puntualizados los modos de declaración comenzamos con el objetivo principal de este artículo.

¿Qué tipos de datos existen en Python?

No entraremos de momento en tipos de datos relacionados con bases de datos, registros, punteros por referencia, punteros por valor, condensadores de fluzo o como aprender Kung Fú en Matrix. El listado de tipos que veremos en este tutorial es:

  • Números (enteros y reales)
  • Textos (comúnmente llamados strings)
  • Lista (también llamados Lists)
  • Tuplas (también llamados Tuples)
  • Mapas (también llamados Maps, Diccionarios, Dictionary o Dic)
  • Booleanos

Nota: Nos gustaría aclarar de nuevo que el lenguaje Python, al contrario a otros lenguajes, no requiere especificar el tipo de dato que estamos usando, es decir, el mismo lenguaje interpretará a partir de la propia declaración que tipo de dato estamos usando y la reserva de memoria que debe destinar a dicha declaración.

1. Números: La asignación de números será directa y su definición como enteros o reales dependerá de si son definidos con decimales o no. En posteriores artículos os mostraremos como hacer conversiones entre ambos tipos y aplicar formatos como número de decimales.

a = 100   #Esta asignación declarará automáticamente la variable como un número entero

b = 1000.5  #Esta asignación declarará automáticamente la variable como un número real con decimales

2. Textos (Strings): Las variables de tipo texto serán definidas entre comillas simples o comillas dobles como mostramos en el siguiente ejemplo.

a = «Me llamo como me puso el cura.»

print(a)

3. Listas: Una lista es una variable que almacenará múltiples valores separados por comas asignando una posición a cada valor semejante al comportamiento de arrays en C, ¿¡Ay madre pero que $%»@&ç* dice el bailaferias este!?, aquí es donde empieza la chicha e imaginamos que nuestro coco comenzará a echar humo, así pues, para que todos lo entendamos usaremos algo de imaginación y el siguiente ejemplo:

Imaginad que tenemos una estantería con tres baldas, compramos tres libros de aventuras y dejamos un libro en cada balda. Llega el día en que queremos leer el libro de la segunda balda y pedimos a nuestro hermano pequeño Pepython que lo traiga al salón (¿¡que lo traiga Pepython que para eso soy el hermano mayo y mando yo no!?).

Ahora vamos a reflejar este ejemplo dentro de Python:

EstanteriaLibros = [«Libro Aventuras 1», «Libro Aventuras 2», «Libro Aventuras 3»]

print (EstanteriaLibros[1])

Nota: La numeración de posiciones en listas comenzará por cero así pues la posición de «Libro Aventuras 1» es 0, «Libro Aventuras 2» es 1 y «Libro Aventuras 3» es 2.

En nuestro ejemplo la variable de tipo lista «EstanteriaLibros» sería el equivalente a nuestra estantería, la segunda balda equivaldría a la posición 1 de la lista, el libro de la segunda balda sería el texto «Libro Aventuras 2» y la acción de nuestro hermano Pepython sería el equivalente a llamar a la función print().

A continuación mostraremos varios modos de uso de estas listas (ojo no es necesario escribir los comentarios marcados con #):

MiGranLista = [‘Libro1′,’Libro2′,’Libro3’, ‘Libro4’]

MiMiniLista = [‘Libro5′,’Libro6’]

print (MiGranLista) #Imprime la lista completa

print (MiGranLista[0])  #Imprime el primer valor de la lista

print (MiGranLista[1:3])  #Imprime los valores comprendidos entre las posiciones 1 y 3

print (MiGranLista[2:]) #Imprime los valores existentes a partir de la posición 2

print (MiMiniLista * 2) #Imprime todos los valores de la lista MiMiniLista dos veces

print (MiGranLista + MiMiniLista) #Imprime el contenido de ambas listas

MiMegaLista = MiGranLista + MiMiniLista #Crea una nueva lista llamada MiMegaLista con la combinación de ambas listas

print(MiMegaLista) #Impresión de lista final resultante

MiMegaLista.append(‘Libro7’) #Agregará un nuevo valor al final de la lista

del MiMegaLista[2]  #Eliminará el valor contenido en la posición 2 de la lista

tipos_datos2

4. Tuplas: El tipo de dato Tupla sigue exactamente el mismo concepto y comportamiento que las listas con dos importantes diferencias. La primera diferencia es el modo de declaración, las tuplas son declaradas a través del uso de paréntesis () en lugar de corchetes [], la segunda diferencia es el estado de solo lectura, es decir, una vez declarado el contenido de una tupla éste no se puede modificar.

MiPrimeraTupla = (‘Valor1’, ‘Valor2’, ‘Valor3’)

print (MiPrimeraTupla)

tipos_datos3

5. Mapas: Los mapas poseen un comportamiento similar a las listas con una mejora añadida, nos ofrecen la ventaja de poder asignar un identificador único a cada valor de la lista, es decir, podremos identificar el valor de la lista deseado a través de una palabra clave en lugar del número de posición que ocupa en la lista. Este comportamiento nos será de gran utilidad pues podremos crear una variable que actuará como una mini base de datos o tabla como veremos en los siguientes ejemplos:

Nota: En los siguientes ejemplos marcaremos en negrita los identificadores para dejar algo claro cual es cada parte en la definición de un mapa.

MapaDeportes = {‘Pedro‘:’Futbol’, ‘Juan‘:’Baloncesto’, ‘Ana‘:’Tenis’}

print (MapaDeportes[‘Ana’])

tipos_datos4

Podremos llevar a cabo las siguientes acciones sobre nuestro mapa o diccionario:

MapaDeportes[‘Ana’] = ‘Ciclismo’   #De este modo modificaremos el contenido del identificador ‘Ana’ de ‘Tenis’ a ‘Ciclismo’

print (MapaDeportes.keys())  #Imprimirá el listado de identificadores del mapa

print (MapaDeportes.values())  #Imprimirá el listado de valores del mapa

del MapaDeportes[‘Pedro’]  #Eliminará el identificador ‘Pedro’ así como su valor asignado

print (MapaDeportes)  #Listado completo de contenido de mapa

MapaDeportes[‘Guillermo’] = ‘Dormir’   #Actualizará el contenido del identificador ‘Guillermo’ y en caso de no existir lo creará

tipos_datos6

6. Booleanos: Este tipo de dato es el más sencillo y uno de los más usados en programación, solo puede tomar dos valores posibles que son True o False. Es común su uso en tomas de decisiones pues encontraremos muchos casos donde decidiremos a partir de un booleano si ejecutamos una parte concreta del código o no.

Esperamos no haber provocado muchos dolores de cabeza y que disfrutéis de vuestros nuevos conocimientos! 😀

Listado de artículos relacionados:

Artículo 1: Introducción
Artículo 2: Operadores
Artículo 3: Variables
Artículo 4: Tipos de datos
Artículo 5: Sentencias de Control (1)
Artículo 6: Sentencias de Control (2)

logo_late

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.