Lo que vas a aprender
- Los tipos de datos básicos, las variables y los operadores.
- Cómo leer datos y mostrar resultados.
- Condicionales y bucles.
- Cómo definir funciones.
- Las estructuras de datos de Python: listas, tuplas, diccionarios y conjuntos.
- Comprensiones de listas, cadenas, excepciones y ficheros.
Fundamentos
Variables y tipos
En Python no se declara el tipo: se asigna y el intérprete lo deduce.Operadores
Entrada y salida
f"...") insertan expresiones entre llaves. Con {x:.2f} se muestran 2 decimales.
Condicionales
La indentación (4 espacios) delimita los bloques: no hay llaves.Bucles
break sale del bucle y continue salta a la siguiente iteración.
Funciones
return minimo, maximo.
Estructuras de datos
Comprensiones
Una forma compacta de construir listas, diccionarios o conjuntos:Cadenas
Excepciones y ficheros
with cierra el fichero automáticamente aunque haya un error.
Ejemplos resueltos
Ejemplo 1 · ¿Es primo?
Ejemplo 1 · ¿Es primo?
Ejemplo 2 · Contar palabras
Ejemplo 2 · Contar palabras
collections.Counter(texto.split()).Ejemplo 3 · Media y desviación típica
Ejemplo 3 · Media y desviación típica
Ejemplo 4 · Fibonacci con y sin recursión
Ejemplo 4 · Fibonacci con y sin recursión
Errores frecuentes
- Mezclar tabuladores y espacios en la indentación. Usa siempre 4 espacios.
- Olvidar convertir
input()a número:"3" + "4"es"34". - Modificar una lista mientras se recorre con
for. Recorre una copia o construye una nueva. - Usar una lista como valor por defecto:
def f(x=[])comparte la misma lista entre llamadas. Usax=None. - Confundir
=(asignar) con==(comparar). - Copiar listas con
b = a. Las dos variables apuntan a la misma lista; para copiar,b = a.copy()ob = a[:].
Preguntas frecuentes
¿Python es lento?
¿Python es lento?
El intérprete es más lento que C para bucles puros, a veces 50 veces o más. Pero las bibliotecas científicas (NumPy, pandas, PyTorch) están escritas en C y Fortran por dentro, y operando con arrays enteros en lugar de bucles se consigue una velocidad parecida.
¿Qué hago después de lo básico?
¿Qué hago después de lo básico?
Programación orientada a objetos (clases), módulos y entornos virtuales, y luego la biblioteca de tu área: NumPy y Matplotlib para cálculo y gráficas, pandas para datos, Flask o Django para web, scikit-learn o PyTorch para aprendizaje automático.
Temas relacionados
Estructuras de datos
Pilas, colas y árboles animados.
Algoritmos de ordenación
Cómo ordena sort() por dentro.
Tablas hash
Lo que hay detrás de los diccionarios.