> ## Documentation Index
> Fetch the complete documentation index at: https://apuntes.simulab.es/llms.txt
> Use this file to discover all available pages before exploring further.

# Programación en Python: temas, ideas clave y simuladores

> Python desde cero: tipos de datos, variables, condicionales, bucles, funciones, listas, tuplas, diccionarios y conjuntos, comprensiones, cadenas, excepciones y ficheros.

Python es el lenguaje con el que se aprende a programar en muchas universidades y el más usado en ciencia de datos, inteligencia artificial y automatización. Su sintaxis es limpia y se lee casi como pseudocódigo, lo que permite centrarse en las ideas (algoritmos, estructuras de datos) más que en los detalles del lenguaje.

## Las ideas clave del bloque

### Tipado dinámico

Las variables no se declaran: toman el tipo del valor que se les asigna. `x = 3` es un entero; `x = "tres"`, una cadena.

### La indentación es la sintaxis

Los bloques (de un `if`, un `for` o una función) se marcan con la sangría de 4 espacios, no con llaves.

### Estructuras de datos incluidas

Listas (secuencias modificables), tuplas (fijas), diccionarios (clave → valor) y conjuntos (sin repetidos) vienen con el lenguaje y cubren casi todas las necesidades del día a día.

| Si necesitas… | Usa |
| - | - |
| Una secuencia ordenada que cambia | Lista |
| Agrupar datos que no cambian | Tupla |
| Buscar por una clave | Diccionario |
| Saber si algo está, sin repetidos | Conjunto |

## Orden recomendado

**1. Fundamentos de Python**

Variables, condicionales, bucles, funciones y estructuras de datos.

**2. POO en Python**

Clases, herencia, propiedades y métodos especiales.

**3. Estructuras de datos**

Pilas, colas y árboles, en el bloque de algoritmos.

**4. Programación dinámica**

Problemas clásicos resueltos en Python, en el bloque de algoritmos.

## Temas de este bloque

> [card] [Fundamentos de Python](https://apuntes.simulab.es/programacion/python/fundamentos-python.md)
>
> Introducción a Python para principiantes y estudiantes: tipos de datos, variables, operadores, entrada y salida, condicionales, bucles for y while, funciones, listas, tuplas, diccionarios y conjuntos, comprensiones, cadenas, excepciones y ficheros, con ejemplos de código explicados.

> [card] [POO en Python](https://apuntes.simulab.es/programacion/python/poo-python.md)
>
> Clases y objetos en Python: **init** y self, atributos de instancia y de clase, métodos, propiedades con @property, herencia y super(), polimorfismo y duck typing, métodos especiales (**str**, **repr**, **eq**, **len**, **add**), dataclasses y métodos de clase y estáticos, con ejemplos de código.

## Simuladores relacionados en Simulab

> [card] [Algoritmos de ordenación](https://simulab.es/programacion/ordenacion)
>
> Burbuja, selección, inserción, merge sort y quicksort animados.

> [card] [Recursión](https://simulab.es/programacion/recursion)
>
> La pila de llamadas paso a paso.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.