Primeros pasos con Python: los tipos de datos básicos

Logo de python

Te recuerdo que estoy compartiendo los apuntes de mis primeros pasos con Python y TensorFlow y que puedes acompañarme desde el primer tutorial:

  1. Instalación de TensorFlow y entorno de desarrollo Python en Mac.
  2. Revisión de ejemplos de TensorFlow.
  3. Principios de aprendizaje automático supervisado.

Si queremos trabajar con aprendizaje automático en Python parece lógico tener cierta soltura con los tipos de datos. Uno de los primeros sitios a los que tendríamos que ir es a la guía del lenguaje (ojito que usamos las versión 3.8 o la que proceda).

Como he programado en varios lenguajes solamente voy a apuntar unos pocos enlaces útiles y a ver cómo se hacen cuatro cosas: declarar variables, componer cadenas, hacer operaciones básicas y crear arrays.

La verdad es que es muy intuitivo todo, simplemente hay que acostumbrarse a la notación.

Python 3.8.6 Documentation

Siempre es mejor leer la documentación ?. Este es el aspecto de los tutoriales descomprimidos.

Lista Archivos Descomprimidos

También podemos encontrar decenas de libros gratuitos por internet.

Asegúrate por favor, que son gratis de verdad (hay demasiados recursos disponibles como para tener que piratear y parece lógico retribuir a los autores).

Libros gratis python

Bueno, vamos con ejemplos, que no hay nada mejor que tocar por uno mismo.

Esta es la lista de los tipos de datos de Python.

Built-in Data Types

Para declarar variables no hace falta poner ningún modificador como var o similar.

Declarar variables python

El tipo más simple es un Booleano. Sus valores son True o False. Con == podemos comparar.

a = True
if a == True : 
    print ("Es cierto")
else :
    print ("Es falso")

Con los operadores lógicos podemos hacer comparaciones:

a = 20 
if a < 50 :     
    print ("Es menor") 
else :     
    print ("Es mayor")

Con los números no se hace diferencia entre enteros y coma flotante. Si se quieren declarar en coma flotante se les pone el punto.

Como es de esperar la división entre enteros da un valor en coma flotante.

a = 20
b = 7
    print (a,b)
    print (a/b)

Terminal

Podemos interrogar el tipo de datos con type () o isinstance.

a = 20
b = 7
c = 20/7
    print (a,b)
    print (type(a))
    print (type(c))
    print (isinstance(c,int))

Terminal Insinstance

Ojito que las conversiones a Int() trunca, no redondea.

Terminal Int

Esta es la salida que obtenemos (comprobar que no hace redondeo).

20 7 2.857142857142857

2

Una función muy interesante y útil es round. Pongamos un ejemplo muy valioso: si queremos estimar el valor de unas viviendas a partir de unos testigos (muestras), tiene sentido decir que cuesta 350K euros más que 350234 euros. Esa precisión solo aporta complejidad a los modelos.

numero = 123456
redondeado = round (numero,-3)
    print (redondeado)

Terminal Redondeo

Intercambiar el valor de dos elementos es muy sencillo. Y vale para cualquier tipo de datos.

a = 20
b = 10
a,b = b,a 
    print (a,b)

Las cadenas de caracteres se inicializan igualmente con comillas dobles o simples.

También se puede iterar entre los caracteres de las cadenas.

palabra = 'Roberto'
for letra in palabra:   
    print (letra)

Del mismo modo, se pueden utilizar rangos de caracteres para extraer subcadenas.

procion = palabra [2:5]
    print (procion)

Es de esperar que salga BER.

Podemos formatear las salidas de un modo sencillo combinando valores y literales.

nombre = "Roberto" 
edad = '47' 
    print ("Roberto: {0} : Edad: {1}".format(nombre,edad))

Terminal

También se pueden formatear las cadenas al estilo clásico (tipo printf c):

nombre = "Roberto" 
edad = '47' 
    print ("Roberto: {0} : Edad: {1}".format(nombre,edad)) 
    print ('Hola, %s' % nombre)

Terminal Formateo

Uno de los tipos compuestos mutables (cambiables) de datos son las listas.

Los elementos añadidos individualmente pueden ser de diferentes tipos. Se inicializan separados por comas.

lista = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]

Podemos añadir elementos, quitárselos o trabajar con rangos.

sesgada = lista [2:8] 
    print(sesgada)

Terminal Lista

Para hacer operaciones matemáticas con grupos de datos (como redondeo) no es el tipo más adecuado, porque hay que hacerlos uno a uno (ya que los tipos pueden ser diferentes).

lista = [12.3233,2.3323,3.2433,4.5445,5.44345] 
lista_redondeada = [round(num, 2) for num in lista] 
    print ("lista redondeada",lista_redondeada)

Las tuplas son similares a las listas pero no se puede modificar el número de elementos. Se inicializa con paréntesis en vez de corchetes. Las operaciones con ellas son más rápidas.

Para trabajar con TensorFlow vamos a utilizar principalmente otro tipos de arrays: numpy arrays. Las operaciones son más rápidas y acotadas a números.

Podéis ir a este enlace y recorrer los ejemplos.

Página Ejemplos

Bueno, aunque sea un tutorial chorra estas cuatro cosas nos van a valer para seguir los ejemplos.

Nos interesa más dedicar tiempo a librerías Numpy y Pandas (DataFrames o tablas de datos tipo .csv).

Nos vemos en siguientes tutoriales.

Comentarios

Un comentario

  1. Para imprimir variables se usa también mucho los f-strings. Para mí, es más legible cuando leo el código.

    Y los slicing en una lista son una pasada! Te permite manipular grandes estructuras de datos con apenas un par de líneas.

Deja una respuesta

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

He leído y acepto la política de privacidad

Información básica acerca de la protección de datos

  • Responsable: IZERTIS S.A.
  • Finalidad: Envío información de carácter administrativa, técnica, organizativa y/o comercial sobre los productos y servicios sobre los que se nos consulta.
  • Legitimación: Consentimiento del interesado
  • Destinatarios: Otras empresas del Grupo IZERTIS. Encargados del tratamiento.
  • Derechos: Acceso, rectificación, supresión, cancelación, limitación y portabilidad de los datos.
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad

Creador y propietario de AdictosAlTrabajo.com, Director General de Autentia S.L., Profesor asociado en IE Business School, inversor en StartUps y mentor de emprendedores. Ingeniero Técnico de Telecomunicaciones y Executive MBA por IE Business School 2007. Twitter: Follow @rcanalesmora Autor de los Libros: Planifica tu éxito: de aprendiz a empresario, Informática profesional, las reglas no escritas para triunfar en la empresa, Conceptos ágiles aplicados a distintas áreas de una empresa y Conversaciones con CEOs y CIOs sobre Transformación Digital y Metodologías Ágiles. ¡Descárgalos gratis aquí! Puedes consultar mi CV y alguna de mis primeras aplicaciones (de los 90) aquí.

¿Quieres publicar en Adictos al trabajo?

Te puede interesar

Imagen con fondo abstracto azul y el texto “Adictos al Trabajo” centrado.

11/02/2026

Rubén Gavilán Fernández

El autoescalado de runners en GitLab CI permite adaptar dinámicamente la capacidad de ejecución de los pipelines a la carga real de trabajo. En este artículo analizamos la arquitectura del Docker Autoscaler executor y mostramos un ejemplo práctico de autoescalado sobre AWS, optimizando rendimiento, costes y operativa DevOps.

30/10/2025

Benjamín Suárez Menéndez

El Complex Problem Solving (CPS) es un proceso estructurado basado en herramientas, técnicas y actitudes que nos facilita la resolución de problemas complejos.

03/10/2025

Miguel García Rodríguez

Descubre cómo el diseño y la psicología del comportamiento utilizan sesgos cognitivos para influir en la toma de decisiones de los usuarios y potenciar la persuasión.