Tipos de datos en python

Siguiendo el Tutorial python desde cero, hoy vamos conocer los distintos tipos de datos en python.
En la primera entrada del tutorial: El interprete de python o shell, estuvimos viendo que era una variable. Para repasar, dijimos que una variable era como una caja donde podíamos almacenar valores.

Tipos de datos en python
Tipos de datos en python



Ejemplo en el interprete de python:

>>>x = 5
>>>a = 5.2
>>>b = "Hola mundo!!!"

Variables en python
Variables en python

Estos valores que almacenan nuestras variables, tienen distintos tipos de datos. En el ejemplo anterior vimos que la variable x = 5 (5 es de tipo entero), la variable a = 5.2 (5.2 es de tipo Float, cualquier número que tenga dígitos después de un punto decimal) y la variable b = "Hola mundo!!!" ("Hola mundo!!!" es una cadena, de tipo string).

Antes de comenzar a ver los distintos tipos de datos en python, quería comentarles que existe una función en python llamada type (tipo) que nos devuelve el tipo de dato del objeto indicado. Veamos un ejemplo:

Función type en python
Función type en python

Como se ve en el ejemplo, x contiene un int (integer - entero), a contiene un Float (número decimal) y b contiene un str (String - Cadena).

Distintos tipos de datos en python

Tipo de dato numérico

En python tenemos: números enteros,  números decimales (de punto flotante) y números complejos.

Los números enteros representan todos los números "Enteros" (positivos y negativos), ejemplo: 1, 0, -5 (Tipo de dato int)
Los números decimales son todos los números que contiene dígitos después de un punto decimal, ejemplo: 1.0 , -6.5, etc (tipo de dato Float)
También existe los números complejos, que son utilizados generalmente para funciones matemáticas, ejemplo: 3i + 4j (en el tutorial no serán utilizados los números complejos)

Tipo de dato String o Cadena

En python un String o Cadena es una secuencia (ordenada de izquierda a derecha) de caracteres. Las cadenas comienzan y terminan con comillas dobles o simples. Declarar una cadena es simple, ya lo vimos en ejemplos anteriores:

>>> blog = "Mi Diario Python"

En caso de olvidarnos de cerrar o abrir una comilla, python nos devolverá un error como en el siguiente ejemplo:

Error de sintaxis
Error de sintaxis

En en el ejemplo me he olvidado de cerrar las comillas dobles ("") y python me ha informado que ha ocurrido un error de sintaxis.

Si nuestra cadena de texto es una cadena larga y tiene saltos de líneas, podemos utilizar las comillas triples ("""Texto"""), un ejemplo sería:
(La declaración print hace que nuestro texto se imprima en pantalla)

Comillas triples en python
Comillas triples

A lo largo del curso iremos viendo distintas funciones que utilizaremos para trabajar con las cadenas. Un ejemplo de ello es la función len(), que utilizaremos para contar los caracteres de una cadena, ejemplo:

>>>fruta = "manzana"
>>>len(fruta)
7

o lo mismo sería:

>>>len("manzana")
7

También podemos acceder a los caracteres de una cadena (esto lo realizamos con la sintaxis []) y como pasa con Java y C, el índice de los caracteres de una cadena comienza en 0 si accedemos desde la izquierda y en -1 si lo hacemos desde la derecha (último). Utilizando el ejemplo anterior, mostrare como acceder a cada uno de los caracteres de "manzana" utilizando los índices:

Acceder a los caracteres de una cadena
Acceder a los caracteres de una cadena

También podemos acceder a porciones de nuestras cadenas utilizando la siguiente sintaxis:

Formato de índice python
Formato de índice
Porción de caracteres python
Porción de caracteres

En el ejemplo anterior creamos una variable prueba con una cadena "abcdef". Mostramos el último valor con el índice -1 ("f"), mostramos el antepenúltimo valor con el índice -3 ("d"). Luego vimos 3 porciones de la variable: primero desde el inicio hasta el índice 3 ([:3]), luego desde el índice 2 hasta el 5 ([2:5]) y por último desde el índice 3 hasta el final ([3:]).

El operador in se utiliza para comprobar si uno o más caracteres se encuentran o no en la cadena. La expresión devolverá un valor boolenao (True o False). Veamos un ejemplo:

Operador in en python
Operador in en python

Caracteres especiales en las cadenas

La contra barra () se utiliza para introducir un caracter especial. Veamos la siguiente tabla:

n -- Salto de línea (nueva línea)
t -- Tabulación horizontal
\ -- Contra barra
' -- Comilla simple
"-- Comilla doble

Veamos algún ejemplo:

La declaración print hace que nuestro texto se imprima en pantalla:

>>> print "Esta es una contra barra (\)"
Esta es una contra barra ()

>>> print "Esta es una t tabulacion horizontal"
Esta es una      tabulacion horizontal

>>> print "Esta es una 'simple comilla'"
Esta es una 'simple comilla'

>>> print "Esta es una "Doble comilla""
Esta es una "Doble comilla"

>>> print "Esta es una nnueva linea"
Esta es una
nueva linea

Quizá estos primero conceptos resulten un poco complejos en un principio, pero con el tiempo y la práctica serán parte de nuestro día 😉

Para reforzar, puedes ver la entrada que hice ya algún tiempo: String o Cadenas en Python

Tipo de dato Boolean (True y False)

El tipo de datos más simple de construir es el tipo Booleano (verdadero y falso). Muy útil en las expresiones condicionales y cualquier otro lugar que se necesite la verdad o falsedad de una condición.
Veamos un ejemplo:

Ejemplo tipo de dato bool
Ejemplo tipo de dato bool

En el correr del tutorial se verán más ejemplos de este tipo de datos.

Tipo de dato Tupla

Las Tuplas son como un tipo de recipiente que contiene una serie de valores separados por comas entre paréntesis. Las tuplas son inmutables (es decir, no pueden cambiar su contenido una ves creadas)

Creando tuplas de ejemplo:

Tuplas en python
Tuplas en python

En el primer ejemplo declaramos tupla1 y le asignamos los valores (1, 2, 3, 4). Luego verificamos que tipo de datos es con el comando type y por último imprimimos en pantalla con print el contenido de tupla1:

>>> tupla1 = (1, 2, 3, 4)
>>> type(tupla1)
<type 'tuple'>
>>> print tupla1
(1, 2, 3, 4)

En el segundo ejemplo hacemos lo mismo, pero la tupla2 tendrá enteros y cadenas:

>>> tupla2 = (1, "python", 64, "blog")
>>> type(tupla2)
<type 'tuple'>
>>> print tupla2
(1, 'python', 64, 'blog')

También se puede acceder a los elementos de una tupla utilizando los índices como hicimos con las cadenas (el primer elemento es el índice 0). Vemos algún ejemplo:

Accediendo a los elementos de una tupla
Accediendo a los elementos de una tupla

Como las cadenas, también podemos acceder a una porción de la tupla, veamos el siguiente ejemplo:

Porción de una tupla
Porción de una tupla

A lo largo del tutorial se verán más ejemplos y funciones para trabajar con Tuplas.

Tipo de datos Lista

Las listas en python son el caballo de batalla. Al igual que las tuplas, las listas son contenedores de elementos (pueden contener distintos tipos de datos) separados por comas y entre corchetes([ ]). Pero a diferencias de las tuplas, las listas pueden ser modificadas.
Crear una lista en python es fácil, veamos el siguiente ejemplo:

Creando listas en python
Creando listas en python

Para crear una lista vacía (que muchas veces será necesario), la definimos de la siguiente manera:

>>> mi_lista = []
>>> print mi_lista
[]

Al igual que las cadenas y las tuplas, podemos acceder a los elementos de una lista por sus índices. Veamos un ejemplo:

Lista en python
Accediendo a los elementos de una lista

Seguiré agregando información sobre las listas a lo largo del tutorial.

Tipo de datos Diccionario

Un diccionario es un conjunto desordenado de pares clave-valor (cada clave contiene un valor). Los elementos de un diccionario son indexados por llaves ({}). Veamos un ejemplo:

Diccionarios en python
Diccionarios en python

Podemos acceder a los valores de un diccionario con sus claves:

clave-valor diccionario
Accediendo a los valores de un diccionario

Se seguirán viendo más ejemplos de diccionarios en el correr del tutorial.

Aquí puedes volver al índice del tutorial: Tutorial python desde cero

Espero que la entrada les sea de ayuda. Como siempre, cualquier corrección, duda o sugerencia bienvenida sea.

Saludos, Diego...

  1. Edgar Fortunato dice:

    excelente bro, tengo que decir que ya he estudiado este lenguaje un poco(aun soy nuevo y estoy aprendiendo) y esta entrada y la explicacion son excelentes. i'm following you bro.

    1. PythonDiario dice:

      Gracias Edgar por visitar el blog y me alegro te gusten los artículos. Ya seguiré con el tutorial. Saludos

  2. Fidel López Salazar dice:

    Excelente Explicación, tengo la logica pero aprendi la sintaxis, los tipos de datos son en cualquier lenguaje, la cuestion es como se definen e identifican (sintaxis), buen capitulo del manual, felicidades,sigo avanzando!

  3. nacho dice:

    hola, Diego desde ya gracias por compartir, una duda, para visualizar una vez ya compilado es obligatorio, en caso de estar haciendolo un poco mas amplio repetir el print todo el tiempo ?

    1. PythonDiario dice:

      No se si entendí bien la pregunta, lo que quieres es reptir el print todo el tiempo? Un bucle?
      puedes probar escribir:

      >>> while True:
      >>> print "Esto se repite todo el tiempo"

      Esto hace que se cree un bucle infinito. Saludos

    2. PythonDiario dice:

      El "print" va con una sangría de 4 espacios!!!

  4. Anónimo dice:

    gracias y bien explicado

  5. trunks4 dice:

    sinceramente no se nada de programacion. Pero con este tutorial cada vez agarro mas la onda y me emociona aprender cada vez mas, aunque debo ser sincero y algunas cosas me confundo supongo que mas adelante comprendere mas sobre el tema, muchas gracias por tremendo aporte

  6. Unknown dice:

    Hola, excelente explicacion, pero cuando le doy un valor a la variable x=5 y luego pongo en la siguiente linea type(x) , no escribe nada , porque sera.porque tendria que decirme que es un entero o decimal. gracias .

  7. larvastar dice:

    Hola me pasa lo mismo que a claudio... type no me devuelve nada. estoy usando win 10

    saludos

  8. Victor Tutorus dice:

    Hola amigo: Estoy aprendiendo bastante. Lo estaba haciendo en ingles pero no es lo mismo porque tus ejemplos son mas didacticos y faciles. Mi plataforma es un Raspberry Pi3 con Raspbian Linux, o sea con una mini computadora conectada a un monitor. Muchas Gracias. Promovere tu blog en mi website http://www.NikolaTeslaDream.com

  9. Cristobal Mazo dice:

    Hola! muy buena entrada. tengo un problema, al parecer mi IDLE necesita parentesis para realizar comandos como
    print variable, me exige que ponga la variable entre paréntesis. ¿Hay alguna forma de obviar esta regla mediante la configuración?

    1. dcaraballo dice:

      Hola amigo, gracias por visitar el blog.
      Por lo que veo tienes instalado Python 3 y eso está muy bien.
      Quizá cuando escribí el artículo lo hice con python 2 y no se exigía paréntesis, pero utiliza python 3 y acostúmbrate a los paréntesis.
      En un principio va a ser la diferencia más grande que encuentres, lo demás es casi todo igual.
      Saludos

  10. Andrea dice:

    Muchas gracias Diego

Deja una respuesta

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

Subir
White Monkey