0% encontró este documento útil (0 votos)
5 vistas10 páginas

Guia Programacion Python

La guía completa de programación en Python abarca desde los fundamentos del lenguaje hasta proyectos reales, destacando su popularidad y versatilidad. Se exploran temas como estructuras de datos, programación orientada a objetos, manejo de errores, y el uso de bibliotecas en ciencia de datos y desarrollo web. Además, se proporciona una ruta de aprendizaje para principiantes y se enfatiza la importancia de las buenas prácticas de codificación.

Cargado por

evveaev
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
5 vistas10 páginas

Guia Programacion Python

La guía completa de programación en Python abarca desde los fundamentos del lenguaje hasta proyectos reales, destacando su popularidad y versatilidad. Se exploran temas como estructuras de datos, programación orientada a objetos, manejo de errores, y el uso de bibliotecas en ciencia de datos y desarrollo web. Además, se proporciona una ruta de aprendizaje para principiantes y se enfatiza la importancia de las buenas prácticas de codificación.

Cargado por

evveaev
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Guía Completa de Programación en

Python
Desde los fundamentos hasta proyectos reales

Introducción
Python es hoy el lenguaje de programación más popular del mundo según el índice TIOBE y
el Stack Overflow Developer Survey 2024. Su sintaxis clara y legible, su vasta librería
estándar y su ecosistema de paquetes de terceros lo hacen ideal tanto para principiantes
como para profesionales que desarrollan sistemas de alta complejidad.

Creado por Guido van Rossum y lanzado en 1991, Python fue diseñado con una filosofía
clara: el código debe ser legible y explícito. El Zen de Python, accesible escribiendo 'import
this' en cualquier intérprete, resume en 19 aforismos esta filosofía. Entre ellos destaca: 'Lo
bello es mejor que lo feo. Lo explícito es mejor que lo implícito. Lo simple es mejor que lo
complejo.'

Este documento cubre desde la instalación y primeros pasos hasta estructuras de datos
avanzadas, programación orientada a objetos, manejo de errores, trabajo con archivos y una
introducción a los ecosistemas más usados en ciencia de datos y desarrollo web.
Capítulo 1: Fundamentos del Lenguaje
Variables y Tipos de Datos
Python es un lenguaje de tipado dinámico: no necesitas declarar el tipo de una variable antes
de usarla. El intérprete infiere el tipo en tiempo de ejecución. Los tipos de datos
fundamentales son:

Tipo Descripción Ejemplo

int Números enteros sin decimales edad = 25

float Números con punto decimal precio = 19.99

str Cadenas de texto entre comillas nombre = 'Ana'

bool Valores lógicos True o False activo = True

list Colección ordenada y mutable numeros = [1, 2, 3]

tuple Colección ordenada e inmutable coordenada = (4.5, -74.0)

dict Pares clave-valor persona = {'nombre': 'Luis'}

set Colección de elementos únicos colores = {'rojo', 'azul'}

Estructuras de Control
Las estructuras de control determinan el flujo de ejecución del programa. Python usa la
indentación (espacios o tabulaciones) para delimitar bloques de código, en lugar de llaves {}
como otros lenguajes. Esto hace que el código sea visualmente más limpio pero exige
consistencia.

La sentencia if-elif-else evalúa condiciones y ejecuta el bloque correspondiente. Los bucles


for iteran sobre colecciones, mientras que while repite mientras una condición sea verdadera.
Python incluye también las expresiones 'break' para salir de un bucle, 'continue' para saltar a
la siguiente iteración y 'pass' como marcador de posición vacío.

Funciones
Las funciones son bloques de código reutilizables definidos con la palabra clave 'def'. Python
soporta parámetros con valores por defecto, argumentos de longitud variable (*args y
**kwargs), funciones anónimas (lambda) y decoradores para modificar el comportamiento de
otras funciones sin cambiar su código.

Las funciones en Python son objetos de primera clase: pueden asignarse a variables,
pasarse como argumentos a otras funciones y retornarse como resultado. Esta característica
es la base de la programación funcional en Python y del patrón de decoradores.
Capítulo 2: Estructuras de Datos
Listas: La Estructura Más Versátil
Las listas son colecciones ordenadas y mutables. Son el caballo de batalla de Python:
permiten almacenar elementos de cualquier tipo, incluso mezclados. Soportan slicing
(rebanado) para acceder a subconjuntos, métodos integrados para añadir, eliminar y ordenar
elementos, y comprensiones de lista para crear listas nuevas de forma concisa.

Las comprensiones de lista son una de las características más elegantes de Python. La
expresión [x**2 for x in range(10) if x % 2 == 0] genera la lista de cuadrados de los números
pares del 0 al 9 en una sola línea, equivalente a un bucle for con condicional de cinco líneas.

Diccionarios: Mapas Clave-Valor


Los diccionarios son la implementación de Python de las tablas hash. Permiten acceder a
valores mediante claves en tiempo constante O(1), independientemente del tamaño del
diccionario. Desde Python 3.7 los diccionarios mantienen el orden de inserción. Son
fundamentales en el procesamiento de JSON, configuraciones y representación de objetos.

Conjuntos (Sets)
Los conjuntos almacenan elementos únicos sin orden definido. Son extremadamente
eficientes para verificar pertenencia y realizar operaciones matemáticas de conjuntos: unión,
intersección, diferencia y diferencia simétrica. Son ideales para eliminar duplicados de listas y
para comparar colecciones.
Capítulo 3: Programación Orientada a Objetos
Python es un lenguaje multiparadigma que soporta programación imperativa, funcional y
orientada a objetos (POO). La POO organiza el código alrededor de objetos que combinan
datos (atributos) y comportamientos (métodos).

Los Cuatro Pilares de la POO

Encapsulamiento
Agrupa datos y métodos relacionados dentro de una clase, protegiendo el estado interno de
modificaciones no autorizadas. En Python se logra con convenciones de nomenclatura:
atributos con prefijo _ son privados por convención, con __ se activa el name mangling.

Herencia
Una clase hija puede heredar atributos y métodos de una clase padre, extendiendo o
modificando su comportamiento. Python soporta herencia múltiple, permitiendo que una clase
herede de varias clases padre simultáneamente.

Polimorfismo
Objetos de diferentes clases pueden responder al mismo método de formas distintas. El
método __str__ puede ser sobreescrito en cada clase para proporcionar una representación
de texto específica del objeto.

Abstracción
Se presentan solo los detalles relevantes al usuario, ocultando la complejidad interna. El
módulo ABC (Abstract Base Classes) permite definir interfaces y clases abstractas que
obligan a las subclases a implementar ciertos métodos.

Métodos Especiales (Dunder Methods)


Python usa métodos con doble guion bajo (dunders o magic methods) para sobrecargar
operadores y comportamientos built-in. El método __init__ actúa como constructor, __str__
define la representación en texto, __len__ permite usar len() sobre el objeto, y __add__
sobrecarga el operador +. Dominar los dunder methods es esencial para crear clases que se
integren naturalmente con el ecosistema Python.
Capítulo 4: Manejo de Errores y Excepciones
Python usa excepciones para manejar errores en tiempo de ejecución. El bloque
try-except-else-finally permite capturar excepciones específicas, ejecutar código alternativo y
garantizar la liberación de recursos independientemente de si ocurrió un error.

Excepción Causa Común Ejemplo

ValueError Valor correcto de tipo pero inapropiado int('abc')

TypeError Operación en tipo incorrecto 'texto' + 5

KeyError Clave inexistente en diccionario d['clave_que_no_existe']

IndexError Índice fuera del rango de la lista lista[100] en lista de 5 elementos

FileNotFoundError Archivo que no existe open('[Link]')

ZeroDivisionError División entre cero 10 / 0

ImportError Módulo no encontrado import modulo_inexistente

AttributeError Atributo que no existe en el objeto objeto.metodo_que_no_existe()

El principio EAFP (Easier to Ask Forgiveness than Permission) es idiomático en Python: se


intenta la operación directamente y se captura la excepción si falla, en lugar del estilo LBYL
(Look Before You Leap) que verifica condiciones antes de actuar. El primero suele ser más
eficiente y pythónico.
Capítulo 5: Trabajo con Archivos y Módulos
Lectura y Escritura de Archivos
Python provee la función built-in open() para trabajar con archivos. El uso del context
manager (with open(...) as f) garantiza que el archivo se cierre correctamente incluso si
ocurre una excepción. Se puede leer en texto (modo 'r') o binario (modo 'rb'), y escribir con 'w'
(sobreescribir) o 'a' (agregar al final).

Para archivos CSV, el módulo csv de la librería estándar maneja correctamente las comillas,
delimitadores y codificaciones. Para JSON, el módulo json permite serializar objetos Python a
texto JSON y deserializar de vuelta. Para Excel y datos tabulares complejos, la librería
Pandas es la herramienta de referencia.

Módulos y Paquetes
Un módulo es un archivo .py con funciones, clases y variables reutilizables. Un paquete es un
directorio con múltiples módulos y un archivo __init__.py. El sistema de importación de
Python permite importar módulos completos (import math), funciones específicas (from math
import sqrt) o con alias (import numpy as np).

pip es el gestor de paquetes de Python. Con él se instalan librerías de terceros del repositorio
PyPI (Python Package Index), que alberga más de 500,000 proyectos. Las mejores prácticas
incluyen usar entornos virtuales (venv o conda) para aislar dependencias entre proyectos y
evitar conflictos.
Capítulo 6: Ecosistemas Principales

Área Librerías Clave Uso Principal

Ciencia de Datos NumPy, Pandas, Matplotlib Análisis y visualización de datos

Machine Learning Scikit-learn, TensorFlow, PyTorch Modelos predictivos y redes neuronales

Desarrollo Web Django, FastAPI, Flask APIs REST y aplicaciones web

Automatización Selenium, Playwright, PyAutoGUI Web scraping y automatización de tareas

Procesamiento NLP spaCy, NLTK, Transformers Análisis y generación de texto

Finanzas yfinance, QuantLib, zipline Análisis financiero y trading algorítmico

Ciencias SciPy, BioPython, AstroPy Cálculo científico por disciplina

Buenas Prácticas y Estilo de Código


PEP 8 es la guía de estilo oficial de Python. Establece convenciones para nombres de
variables (snake_case), longitud máxima de línea (79 caracteres), espacios alrededor de
operadores y estructura de importaciones. La herramienta Black formatea automáticamente
el código, eliminando debates sobre estilo en equipos.

Los docstrings documentan funciones, clases y módulos. Las type hints (anotaciones de tipo)
hacen el código más legible y permiten verificación estática con mypy. Los tests unitarios con
pytest garantizan que el código funciona como se espera y facilitan el refactoring seguro.
Capítulo 7: Proyecto Práctico — Analizador de Datos
Uno de los proyectos más comunes para consolidar el aprendizaje de Python es construir un
analizador de datos que cargue un dataset CSV, lo limpie, calcule estadísticas básicas y
genere visualizaciones. Este proyecto integra múltiples conceptos: lectura de archivos,
estructuras de datos, funciones, manejo de errores y uso de librerías externas.

El flujo típico de un proyecto de análisis de datos en Python sigue la metodología CRISP-DM


adaptada: primero se define el problema, luego se cargan y exploran los datos (EDA), se
limpian y transforman, se calculan métricas y estadísticas relevantes, se visualizan los
hallazgos y finalmente se comunican las conclusiones.

Pandas permite cargar un CSV en una línea (pd.read_csv()), explorar sus primeras filas
([Link]()), obtener estadísticas descriptivas ([Link]()), identificar valores nulos
([Link]().sum()) y filtrar, agrupar y transformar datos con una sintaxis expresiva y eficiente.

Matplotlib y Seaborn generan visualizaciones de calidad profesional con pocas líneas de


código. Plotly agrega interactividad. Para presentaciones y reportes ejecutivos, las notebooks
de Jupyter permiten combinar código, visualizaciones y texto explicativo en un formato
reproducible.
Capítulo 8: Recursos y Ruta de Aprendizaje
Ruta para Principiantes (0-3 meses)
• Semana 1-2: Instalar Python, configurar VS Code, aprender variables, tipos y operadores.

• Semana 3-4: Estructuras de control (if, for, while) y funciones básicas.

• Semana 5-6: Listas, diccionarios y manejo de archivos.

• Semana 7-8: Programación Orientada a Objetos y módulos.

• Mes 3: Primer proyecto personal completo con al menos dos librerías externas.

Recursos Recomendados

Recurso Tipo Nivel Idioma

[Link] Tutorial Oficial Documentación Principiante Inglés

Automate the Boring Stuff (Al Sweigart) Libro gratuito online Principiante Inglés

Real Python ([Link]) Artículos y cursos Todos Inglés

CS50P de Harvard (edX) Curso gratuito Principiante Inglés

Kaggle Learn Python Curso interactivo Principiante Inglés

Python para Todos (Coursera) Curso Principiante Español

Conclusión
Python es un lenguaje que crece contigo: puedes comenzar con scripts simples y escalar
hasta sistemas distribuidos de alta complejidad. Su comunidad activa, la abundancia de
recursos educativos gratuitos y la demanda laboral creciente hacen que invertir tiempo en
aprenderlo sea una de las decisiones más rentables en el mundo tecnológico actual.

También podría gustarte