Material de clase para el Curso dictado, por primera vez en 2017, en el IB.
- Una versión en formato HTML puede encontrarse aquí
- Aquí en formato pdf
Juan Fiol
IB - 2024
Esta obra está bajo una Licencia Creative Commons Atribución-CompartirIgual 4.0 Internacional.
- La documentación oficial de Python (https://docs.python.org/3/)
- El Tutorial de Python (https://docs.python.org/3/tutorial/), también en español (http://docs.python.org.ar/tutorial/3/)
- Documentación de Numpy (http://docs.scipy.org/doc/numpy/user/)
- Documentación de Scipy (https://docs.scipy.org/doc/scipy/reference/)
- Documentación de Matplotlib (http://matplotlib.org), en particular la Galería (http://matplotlib.org/gallery.html)
- Introduction to Python for Science (http://www.physics.nyu.edu/pine/pymanual/html/pymanMaster.html)
- El curso de Python científico (https://github.com/mgaitan/curso-python-cientifico)
- Las clases de Scipy Scipy Lectures (http://scipy-lectures.org)
- Scipy Cookbook (http://scipy-cookbook.readthedocs.io/index.html)
- Computational Statistics in Python (http://people.duke.edu/~ccc14/sta-663-2017/index.html)
- The Python Standard Library by Example (https://doughellmann.com/blog/the-python-3-standard-library-by-example/) de Doug Hellman, Addison-Wesley, 2017
- Python Cookbook (https://www.amazon.com/Python-Cookbook-Third-David-Beazley/dp/1449340377) de David Beazley, Brian K. Jones, O'Reilly Pub., 2013.
- Elegant Scipy (https://www.oreilly.com/library/view/elegant-scipy/9781491922927/) de Harriet Dashnow, Stéfan van der Walt, Juan Nunez-Iglesias, O'Reilly Pub., 2017.
- Scientific Computing with Python 3 (https://www.packtpub.com/big-data-and-business-intelligence/scientific-computing-python-3) de Claus Führer, Jan Erik Solem, Olivier Verdier, Packt Pub., 2016.
- Interactive Applications Using Matplotlib (https://www.packtpub.com/application-development/interactive-applications-using-matplotlib) de Benjamin V Root, Packt Pub., 2015.
- Mastering Python Regular Expressions (https://www.packtpub.com/application-development/mastering-python-regular-expressions) de Félix López, Víctor Romero, Packt Pub., 2014,
Información para usuarios de Matlab:
Autor: | Juan Fiol |
---|---|
Version: | Revision: 2023 |
Copyright: | Libre |
- Cómo empezar: Instalación y uso
- Instalación
- Documentación y ayudas
- Uso de Python: Interactivo o no
- Notebooks de Jupyter
- Comandos de Ipython
- Comandos de Navegación
- Algunos de los comandos mágicos
- Comandos de Shell
- Conceptos básicos de Python
- Características generales del lenguaje
- Tipos de variables
- Tipos simples: Números
- Tipos compuestos
- Strings: Secuencias de caracteres
- Operaciones
- Iteración y Métodos de Strings
- Formato de strings
- Conversión de tipos
- Tipos contenedores: Listas
- Operaciones sobre listas
- Tuplas
- Rangos
- Comprensión de Listas
- Módulos
- Módulo math
- Módulo
cmath
- Adicionales
- Diccionarios
- Creación
- Selección de elementos
- Acceso a claves y valores
- Modificación o adición de campos
- Conjuntos
- Operaciones entre conjuntos
- Modificar conjuntos
- Control de flujo
- if/elif/else
- Iteraciones
- Técnicas de iteración
- Iteración sobre conjuntos (set)
- Iteración sobre elementos de dos listas
- Iteraciones sobre diccionarios
- Las funciones son objetos
- Definición básica de funciones
- Argumentos de las funciones
- Ámbito de las variables en los argumentos
- Funciones con argumentos opcionales
- Tipos mutables en argumentos opcionales
- Número variable de argumentos y argumentos keywords
- Empacar y desempacar secuencias o diccionarios
- Funciones que devuelven funciones
- Funciones que toman como argumento una función
- Aplicacion 1: Ordenamiento de listas
- Funciones anónimas
- Ejemplo 1: Integración numérica
- Uso de funciones anónimas
- Ejemplo 2: Polinomio interpolador
- Funciones que aceptan y devuelven funciones (Decoradores)
- Notación para decoradores
- Algunos usos de decoradores
- Atrapar y administrar errores
- Administración de excepciones
- “Crear” excepciones
- Escritura y lectura a archivos
- Ejemplos
- Archivos comprimidos
- Breve introducción a Programación Orientada a Objetos
- Clases y Objetos
- Métodos especiales
- Herencia
- Atributos de clases y de instancias
- Algunos métodos “especiales”
- Método
__del__()
- Métodos
__str__
y__repr__
- Método
__call__
- Métodos
__add__
,__mul__
- ¿Qué es y para qué sirve el control de versiones?
- Cambios en paralelo
- Historia completa
- Instalación y uso: Una versión breve
- Instalación
- Interfaces gráficas
- Documentación
- Configuración básica
- Creación de un nuevo repositorio
- Clonación de un repositorio existente
- Ver el estado actual
- Creación de nuevos archivos y modificación de existentes
- Actualización de un repositorio remoto
- Puntos importantes
- Algunos módulos (biblioteca standard)
- Módulo sys
- Módulo
os
- Módulo
subprocess
- Módulo
glob
- Módulo pathlib
- Módulo
Argparse
- Módulo
re
- Algunos ejemplos
- Graficación de datos de archivos
- Comparación de listas y arrays
- Generación de datos equiespaciados
- Características de arrays en Numpy
- Uso de memoria de listas y arrays
- Velocidad de Numpy
- Creación de arrays en Numpy
- Creación de Arrays unidimensionales
- Arrays multidimensionales
- Otras formas de creación
- Acceso a los elementos
- Propiedades de Numpy arrays
- Propiedades básicas
- Otras propiedades y métodos de los array
- Operaciones sobre arrays
- Operaciones básicas
- Comparaciones
- Funciones definidas en Numpy
- Lectura y escritura de datos a archivos
- Interactividad
- Trabajo con ventanas emergentes
- Trabajo sobre notebooks
- Gráficos simples
- Formato de las curvas
- Líneas, símbolos y colores
- Nombres de ejes y leyendas
- Escalas y límites de graficación (vista)
- Exportar las figuras
- Dos gráficos en la misma figura
- Personalizando el modo de visualización
- Archivo de configuración
- Hojas de estilo
- Modificación de parámetros dentro de programas
- Creación y operación sobre Numpy arrays
- Funciones para crear arrays
- Funciones que actúan sobre arrays
- Productos entre arrays y productos vectoriales
- Comparaciones entre arrays
- Atributos de arrays
- reshape
- transpose
- min, max
- argmin, argmax
- sum, prod, mean, std
- cumsum, cumprod, trapz
- nonzero
- Conveniencias con arrays
- Convertir un array a unidimensional (ravel)
- Enumerate para
ndarrays
- Vectorización de funciones escalares
- Copias de arrays y vistas
- Indexado avanzado
- Indexado con secuencias de índices
- Índices de arrays multidimensionales
- Indexado con condiciones
- Función where
- Extensión de las dimensiones (Broadcasting)
- Unir (o concatenar) arrays
- Apilamiento vertical
- Apilamiento horizontal
- Generación de números aleatorios
- Distribución uniforme
- Distribución normal (Gaussiana)
- Histogramas
- Distribución binomial
- Una mirada rápida a Scipy
- Funciones especiales
- Funciones de Bessel
- Función Error
- Evaluación de polinomios ortogonales
- Factorial, permutaciones y combinaciones
- Integración numérica
- Ejemplo de función fuertemente oscilatoria
- Funciones de más de una variable
- Álgebra lineal
- Productos y normas
- Aplicación a la resolución de sistemas de ecuaciones
- Descomposición de matrices
- Autovalores y autovectores
- Rutinas de resolución de ecuaciones lineales
- Entrada y salida de datos
- Entrada/salida con Numpy
- Ejemplo de análisis de palabras
- Entrada y salida en Scipy
- Gráficos y procesamiento sencillo en 2D
- Histogramas en 2D
- Gráficos de contornos
- Superficies y contornos
- Interpolación
- Interpolación con polinomios
- Splines
- B-Splines
- Lines are guides to the eyes
- Cantidades derivadas de splines
- Interpolación en dos dimensiones
- Interpolación sobre datos no estructurados
- Fiteos de datos
- Ajuste con polinomios
- Fiteos con funciones arbitrarias
- Ejemplo: Fiteo de picos
- Animaciones con Matploblib
- Una animación simple en pocos pasos
- Segundo ejemplo simple: Quiver
- Tercer ejemplo
- Trabajo simple con imágenes
- Análisis de la imagen
- Gráficos interactivos (“widgets”)
- Cursor
- Manejo de eventos
- Ejemplos integrados
- Interface con lenguaje C
- Ejemplo 1: Problema a resolver
- Interfaces con C
- Interface con lenguaje Fortran
- Ejemplo 1: Problema a resolver
- Interfaces con Fortran
- Los errores al programar
- Los errores en notebooks
- Mutabilidad
- Funciones
- Funciones puras
- Funciones de primer orden o primera clase
- Funciones de orden superior
- Inmutabilidad
- No más loops