Python
- Data Science
- Computer Science
- Software engineering
- Automatizacion y Build
- procesos python
- conceptos
- conceptos python v1
- python-avanzado-Apuntes
- idea fundamentos python
- cursos
- curso python avanzado
Omnivore Python
- curso python avanzado
type: list
name: "Notas con #powershell en Omnivore"
order:
- property: date_saved
direction: desc
columns:
- file.name
- date_saved
filters:
and:
- file.inFolder("Omnivore")
- file.hasTag("python", "Python")
views:
- type: table
name: Table
sort:
- property: file.mtime
direction: DESC
curso-GCP DESARROLLO DE APLICACIONES PYTHON
🧠 Fundamentos y Ejecución de Programas
-
Cómo ejecuta Python los programas
Python interpreta el código línea por línea, gestionando un bytecode interno y ejecutándolo en la Python Virtual Machine (PVM). Comprender el flujo de ejecución permite optimizar y depurar mejor. -
Ejecutar programas en Python
Se profundiza en cómo lanzar scripts desde terminal, usarpython file.py, ejecutar módulos con-m, y explorar entornos virtuales para aislar dependencias.
🧱 Tipos de Datos y Estructuras Fundamentales
-
Introducción a los tipos de objetos Python
Python es todo objetos, desde enteros hasta funciones. Cada valor tiene tipo, identidad y estado. -
Tipos Numéricos
Incluyeint,float,complex,bool. Se explican operaciones aritméticas, conversión de tipos y precisiones. -
Tipado Dinámico
En Python las variables no tienen tipo fijo: el tipo pertenece al objeto, no al nombre. Permite mayor flexibilidad pero exige disciplina para evitar errores silenciosos. -
Fundamentos de Cadenas
Manipulación de strings, slicing, métodos útiles (split,join,replace, etc.), inmutabilidad y codificaciones. -
Listas y Diccionarios
Las listas son secuencias mutables; los diccionarios son mapas llave-valor altamente optimizados. Se cubren métodos, rendimiento y casos de uso. -
Tuplas, Ficheros y todo lo demás
Tuplas como secuencias inmutables, lectura y escritura de archivos, modos de apertura, contextowith, y otros tipos integrados relevantes.
🧩 Sentencias y Control del Flujo
-
Introducción a las Sentencias Python
Sintaxis clave: asignaciones, condicionales, bucles, importaciones y bloques estructurados. -
Asignaciones, Expresiones y Prints
Asignación múltiple, unpacking, expresiones compuestas y usos modernos deprintcon f-strings. -
if Tests y Reglas de Sintaxis
Evaluación booleana, truthiness, operadores lógicos y estructura del flujo condicional. -
Los Bucles While y For
Iteración sobre secuencias e iteradores,break,continue, y patrones comunes en recorridos. -
Iteraciones y Comprehensions
Comprehensions de listas, sets y diccionarios para escribir código más limpio y eficiente. -
La Documentación
Uso dehelp(), docstrings, anotaciones y convenciones de documentación estilo PEP 257.
⚙️ Funciones y Ámbito
-
Fundamentos de las Funciones
Definición condef, retorno de valores, valores por defecto y funciones como ciudadanos de primera clase. -
Scopes
Regla LEGB (Local, Enclosed, Global, Built-in), closures y cómo Python resuelve nombres. -
Argumentos
Tipos de argumentos: posicionales, keyword, args, **kwargs. Patrones comunes y buenas prácticas. -
Funciones Avanzadas
Decoradores, funciones lambda, funciones de orden superior y estrategias funcionales. -
Comprehensions y Generations
Gens y generadores conyield, lazy evaluation, rendimiento y flujos infinitos. -
Benchmarking
Uso detime,timeit, perfiles básicos y cómo medir rendimiento de fragmentos de código.
📦 Módulos y Arquitectura de Programas
-
Módulos
Importación, búsqueda ensys.path, paquetes,__init__.py, aliasing y organización del código. -
Programación de Módulos
Construcción de módulos reutilizables, separación lógica, encapsulación y estilos recomendados.
🧱 Programación Orientada a Objetos
-
Programación Orientada a Objetos
Conceptos esenciales: clases, instancias, atributos, métodos, composición y encapsulación. -
Fundamentos de Programación de Clases
Definición de clases,self, atributos de clase y de instancia, métodos especiales básicos. -
Sobrecarga de Operadores
Implementación de métodos mágicos (__add__,__len__,__repr__, etc.) para integrar objetos personalizados con la sintaxis de Python.
curso-IA y ML Basico-Python
- Data Science Introducción estructurada a los conceptos fundamentales de Inteligencia Artificial (IA) y Machine Learning (ML) en Python. Esta nota organiza los temas y añade explicaciones ampliadas para que funcionen como referencia conceptual.
Recurso principal
Conceptos Fundamentales de IA y ML
Regresión
- La regresión modela la relación entre una o más variables de entrada (features) y una variable de salida (target).
- Se usa para predecir valores numéricos: precios, temperaturas, probabilidades.
- Técnicas comunes: regresión lineal, polinómica, regularización (Ridge, Lasso).
- Objetivo: encontrar la función que mejor minimice el error entre predicción y realidad.
Árboles de decisión
- Un árbol de decisión divide el espacio de decisiones mediante condiciones.
- Ideal para clasificación o regresión.
- Genera reglas tipo: “si edad < 18 y compra = no → categoría X”.
- Ventajas: interpretables, pueden manejar datos categóricos o numéricos.
- Limitaciones: tienden a sobreajustar si no se podan.
Métodos Bayesianos
- Basados en la probabilidad de Bayes, permiten actualizar creencias según evidencia.
- Usados para clasificación de textos (spam vs no spam), detección de patrones, filtrado.
- El modelo calcula la probabilidad posterior de una clase dadas sus características.
- Ejemplo: Naive Bayes, que asume independencia entre características.
Agrupación (Clustering)
- Técnicas para agrupar elementos sin categorías previas.
- Busca similitud entre elementos (distancias, densidades, conectividad…)
- Ejemplos: K-means, DBSCAN, clustering jerárquico.
- Usos: segmentación de clientes, agrupación de imágenes, estructuración de datos.
Procesamiento de Lenguaje Natural (NLP)
Campo que permite que las máquinas entiendan, generen y procesen lenguaje humano.
- Traducción automática.
- Análisis de sentimientos.
- Extracción de información.
- Chatbots.
- Filtrado de correos.
- Modelos modernos: transformers, embeddings, modelos generativos.
Robótica e IA aplicada
Visión por Computador (CV)
- Procesamiento de imágenes y video: detección de objetos, rostros, biometría.
- Autoanotación y segmentación de imágenes.
- Filtros, transformaciones, identificación de patrones visuales.
Deep Learning (DL)
- Redes neuronales con múltiples capas que aprenden representaciones complejas.
- Jerarquía de niveles: capas iniciales detectan patrones básicos; capas profundas reconocen estructuras avanzadas.
- Aplicaciones: reconocimiento de voz, imágenes, texto, series temporales.
Reinforcement Learning (RL)
- Aprendizaje por recompensas y penalizaciones.
- El agente aprende a tomar decisiones óptimas mediante prueba y error.
- Usos: videojuegos, robótica, control, optimización, vehículos autónomos.
Agentes Virtuales
- Sistemas que perciben el entorno y ejecutan acciones.
- Asistentes (Alexa, Google Assistant).
- Bots autónomos en juegos.
- Automatización de tareas repetitivas.
Minería de Datos (Data Mining)
Disciplina orientada a extraer conocimiento útil de grandes conjuntos de datos.
- Descubrimiento de correlaciones, patrones ocultos y anomalías.
- Eliminación de ruido, duplicados y datos mal estructurados.
- Técnicas estadísticas + algoritmos de aprendizaje automático.
- Incluye el proceso KDD (Knowledge Discovery in Databases):
- Selección de datos
- Limpieza
- Transformación
- Minería de datos
- Interpretación y evaluación
Análisis del Problema (Workflow)
Proceso típico antes de aplicar ML o IA a un dataset.
Análisis de datos
- Exploración inicial: tendencias, outliers, valores nulos.
- Validación de la consistencia.
- Identificación de ruido o errores.
- Evaluación de correlaciones y distribución.
Preparación de datos
- Selección de variables relevantes.
- Construcción de variables adicionales (feature engineering).
- Normalización, limpieza, codificación categórica.
- Scripts que automatizan el preprocesamiento.
- Formateo del dataset para su uso en modelos.
Modelado
- Selección de algoritmos según el tipo de problema:
- regresión, clasificación, clustering, redes neuronales.
- Consideración de requerimientos, complejidad y contexto.
- Entrenamiento, ajuste de hiperparámetros, validación cruzada.
Evaluación
- Comparación entre predicciones y valores reales.
- Detección de problemas comunes:
- falta de datos,
- variables mal seleccionadas,
- modelo inadecuado.
- Métricas según el modelo: precisión, recall, MSE, F1, ROC-AUC.
Implementación y comunicación
- Documentación del proceso y visualizaciones.
- Presentación clara para clientes o stakeholders.
- Conclusiones, reportes, recomendaciones y próximos pasos.
Extraer Datos de un Conjunto de Datos
Operaciones básicas para obtener la información útil antes de entrenar modelos.
- Lectura de archivos CSV, JSON, Excel.
- Selección de columnas.
- Filtrado por condiciones.
- Detección de valores atípicos.
- Descripción estadística inicial.
- Agrupación por categorías o rangos.
- Exportación y limpieza de datos para análisis posterior.
curso-IA-python-CS50
Curso basado en CS50’s Introduction to Artificial Intelligence with Python, enfocado en fundamentos de algoritmos de búsqueda, resolución de problemas, heurísticas, teoría de grafos y primeros pasos en IA clásica.
Search – Lecture 0
Introducción a los algoritmos de búsqueda y a la representación de problemas como grafos. Se cubren conceptos como estados, acciones, transiciones, costo, soluciones óptimas, DFS, BFS y la motivación detrás de la IA clásica.
- Week 0 – Search
- Revisión teórica del modelo Agent–Environment, grafos, nodos, aristas, y definición formal de un problema de búsqueda.
- Clasificación de algoritmos informados/no informados.
- Ejemplos de búsquedas en mapas y laberintos.
- Search – Lecture 0 – Video
- Implementación paso a paso de DFS y BFS.
- Demostraciones visuales y comparaciones de rendimiento.
- Introducción a heurísticas y coste de caminos.
Material relacionado (proyectos y notas)
Cada ítem añade práctica o ampliación del contenido visto en la semana 0. Incluye anotaciones, código, ejercicios y análisis propios.
- 00-Maze Code
- Implementación de un laberinto (maze solver) como grafo.
- Representación de nodos, vecinos, movimientos válidos y detección de colisiones.
- Ideal para visualizar DFS/BFS en acción sobre una matriz.
- 01-Degrees
- Problema real basado en la base de datos IMDb: encontrar la conexión mínima entre actores (“Six Degrees of Separation”).
- Introducción a búsqueda en grafos grandes, manejo de archivos CSV y optimización.
- 02-Tic-Tac-Toe
- Implementación de un agente que juega a Tic-Tac-Toe.
- Introducción al algoritmo Minimax, estados terminales, funciones de utilidad y decisiones óptimas.
- 03-Intro AI
- Resumen general de conceptos de IA clásica.
- Agentes, racionalidad, heurísticas, grafos, caminos óptimos, espacio de estados.
- 04-Search
- Explicación detallada del proceso de búsqueda:
- Formulación del problema
- Estados, acciones, transición
- Estrategias de exploración
- Casos típicos de problemas: navegación, puzles, rutas.
- Explicación detallada del proceso de búsqueda:
- 05-Solving Search Problems
- Guía práctica para modelar problemas como grafos antes de implementar el algoritmo.
- Análisis de complejidad, memoria, profundidad del árbol y posibles optimizaciones.
- 06-Depth First Search DFS
- Explicación del algoritmo DFS, su naturaleza recursiva y cuándo es ventajoso usarlo.
- Limitaciones: riesgo de ciclos, caminos no óptimos, uso de stack.
- 07-Breadth First Search
- Búsqueda en anchura -> garantiza solución más corta en grafos no ponderados.
- Implementación con cola (queue) y análisis del coste temporal y espacial.
- 08-EJ maze solving DFS y BFS
- Ejemplos completos de resolución de laberintos usando ambos algoritmos.
- Comparación: velocidad, profundidad, nodos explorados, optimalidad.
- 09-DFS y BFS en codigo maze solving maze.py
- Código práctico final unificando todo lo aprendido.
- Patrón general:
- Representación del grafo
- Frontier (stack/queue)
- Visited set
- Reconstrucción del camino
- Además incluye mejoras: detección de loops, visualización y debug.
curso python-20-projects
Relacionado
- %20[En])
- python-avanzado
- python-avanzado-Apuntes
- python-avanzado-Apuntes > anaconda, entorno virtual
- ejercicios-01-todo-app
- preguntas-01-todo-app
- github del curso
Futuras implementaciones
- python > todo app
- id uuid
- calendar
- [I] crear renderizado para markdown y json
- GUI custom tkinter
- unit test
- actualizar pip
.\Scripts\Activate.ps1
01-todo app
- crear entorno virtual y primer proyecto
- editar tareas, list indexing
- guardar y leer tareas en files
- list comprehension para mostrar tareas sin saltos de línea
- editar tareas en files, manejo con try si no existe file
- cambiar math case por ifs, list slicing, usar número en primer input
- comprobador de passwords
- encoding utf-8 para tildes
- crear file si no existe, usar
os,path.exists() - timestamp
- recorrer files por extensión y path (glob)
- versión GUI todo app
- meter en git
- ejercicios y preguntas
- ejercicios-01-todo-app
- preguntas-01-todo-app
- actualizar pip y PySimpleGUI
python -m pip install --upgrade PySimpleGUIpython -m pip install --upgrade pip
- instalar jupyter en entorno env
pip install jupyterlabpip install notebook
- gestionar vulnerabilidades y entornos
- python-avanzado-Apuntes > anaconda, entorno virtual
- instalar pipenv
Todo app intro
- uso de
dir(),help() - control de flujo: match/if, for, strip,
_, bitwise OR| - iteración en strings, mutabilidad, replace(), tuplas, enumerate(), index, remove(), clear(), pop()
- métodos: len(), title(), capitalize(), sort(), type()
- manejo de archivos: open(), read(), write(), writelines(), readlines(), close()
- cursor de archivos
- data types, separador
\, with context manager - paradigma MVP
- operadores:
in, list slicing,or,not - validaciones: isdigit(), isupper(), all()
- uso de dicts, values()
- startswith(), continue en try dentro de while
- exit(), funciones, NoneType, slicing, sum(), len()
- decoupling, split(), float(),
[], parámetros por defecto, docstrings - imports condicionales con
if __name__ == "__main__": - módulo time:
strftime("") - módulos: csv, glob, webbrowser, shutil
- glob para recorrer extensiones
- manejo de CSV: iteradores, list() y list of lists
- shutil → make_archive() (zip)
- webbrowser.open() búsquedas
- JSON
- loads(), manejo cuando llega como lista u objeto
- errores típicos si no viene como lista
GUI todo app
- PySimpleGUI
- PyPI pysimplegui 4
- apps: file compressor GUI, todo GUI
- event & values, asignación múltiple
- métodos: read(), close(), Text(), InputText(), Button(), Window(), tooltip, key, layout, font
- Listbox, values, enable_element, size, index(), actualización con
window[""].update() value=values["todos"][0]- salir con exit() o break
- layout dinámico mediante append
- timeout para refrescar hora
- image_source, mouseover_colors, tooltip, key
- problemas comunes
- value error al indexar edit todo
- index error
- saltos de línea inesperados
- NoneType no suscriptable
- valueerror al completar elemento inexistente
- valueerror al editar varias veces
GUI file compress
- zipfile, split(), ZipFile(), write(), pathlib Path()
- problema del filepath completo → usar
arcname= - convertir filepath en instancia Path por iteración
- actualización de Text() con update()
- errores
- NoneType error
- no seleccionar múltiples archivos en Windows
- label no visible sin usar size=
- zip extractor: ZipFile(), extractall(), paths absolutas, utils_compress.py
Web app todo app
- PWA, streamlit
- widgets básicos: title, subheader, write, text_input
session_state[]diccionario- error de keys duplicadas en loops → asignar key única
- pop(), borrar con del, experimental_rerun()
- unsafe_allow_html, set_page_config
- webcam app
- filtro gris con PIL
- camera_input
- Image.open(), convert(“L”)
- manejar NoneType por permisos
- expander(“Start”), image()
Deploy
- ejecutables
- Windows, ExecutionPolicy Problema ExecutionPolicy en PowerShell
pyinstaller --onefile --windowed --clean gui.py
- clonar repos, requirements.txt
pip install -r requirements.txt
- git
pip freeze > requirements.txt.gitignore- deploy github + streamlit
- PaaS vs IaaS
- deploy en Heroku
- procfile y setup.sh
web: sh setup.sh && streamlit run home.py
- procfile y setup.sh
Resumen python basics
- float(), return, upper, capitalize, title, append()
- mutabilidad, sort(), dir(), methods
- tuplas, listas, indexing, slicing
- dicts, lista de dicts, dict de listas
persons1[2]["first name"]persons["first name"][2]
- len(), read(), readlines(), strip(), write(), writelines()
- errores comunes: SyntaxError, ValueError, NameError, AttributeError
- diferencia módulos vs librerías
02-Web app
- Crear prototipo
- Software engineering
¿Te gusta este contenido? Suscríbete vía RSS