🐍 Python Desde Cero

Guía completa para aprender Python desde fundamentos hasta conceptos avanzados.

📖 Temas del Curso

Haz clic en cualquier tema para ver el contenido detallado

📌 Introducción a Python

Python es un lenguaje de programación interpretado, de alto nivel, multiparadigma y con una sintaxis clara y legible.

Historia:

Python fue creado por Guido van Rossum en 1991 y nombrado así por el grupo de comedia británico Monty Python.

Filosofía (Zen of Python):

  • ✅ "Hermoso es mejor que feo"
  • ✅ "Explícito es mejor que implícito"
  • ✅ "Simple es mejor que complejo"
  • ✅ "La legibilidad cuenta"
💡 ¿Sabías qué?

Python es uno de los lenguajes más populares del mundo según el índice TIOBE y GitHub.

← Volver a temas

⚙️ Instalación de Python

En Windows:

  1. Descarga Python desde python.org
  2. Ejecuta el instalador
  3. ⚠️ MARCA "Add Python to PATH"
  4. Click en Install Now

En macOS:

brew install python3

En Linux:

sudo apt-get install python3 python3-pip

Entorno virtual:

python -m venv venv
source venv/bin/activate  # Linux/Mac
venv\Scripts\activate     # Windows
← Volver a temas

📦 Conceptos Básicos

Variables y Tipos:

nombre = "Juan"           # str
edad = 30               # int
altura = 1.75           # float
es_estudiante = True    # bool
hobbies = ["leer"]      # list
persona = {"nombre": "Juan"}  # dict

Estructuras de Control:

if edad >= 18:
    print("Mayor de edad")
else:
    print("Menor de edad")

for i in range(5):
    print(i)

while contador < 10:
    contador += 1
← Volver a temas

🔧 Operadores y Expresiones

Operadores Aritméticos:

a, b = 10, 3
print(a + b)   # 13
print(a - b)   # 7
print(a * b)   # 30
print(a / b)   # 3.33
print(a // b)  # 3 (división entera)
print(a % b)   # 1 (módulo)
print(a ** b)  # 1000 (potencia)

Operadores de Comparación:

print(5 == 5)   # True
print(5 != 3)   # True
print(5 > 3)    # True
print(5 <= 5)   # True
← Volver a temas

💻 Ejemplos Prácticos

Manipulación de Archivos:

# Leer archivo
with open('archivo.txt', 'r') as f:
    contenido = f.read()

# Escribir archivo
with open('salida.txt', 'w') as f:
    f.write('Hola Mundo')

APIs con Requests:

import requests

response = requests.get('https://api.example.com/data')
data = response.json()
← Volver a temas

✅ Buenas Prácticas

PEP 8 - Style Guide:

  • ✅ Usa 4 espacios para indentación
  • ✅ Nombres de variables en minúsculas
  • ✅ Clases en CamelCase
  • ✅ Máximo 79 caracteres por línea

Testing con pytest:

def test_suma():
    assert suma(2, 3) == 5
← Volver a temas

📚 Módulos y Paquetes

Importar Módulos:

import math
print(math.sqrt(16))  # 4.0

from datetime import datetime
print(datetime.now())

import random
print(random.randint(1, 10))

Crear Módulos:

# mi_modulo.py
def saludar(nombre):
    return f"Hola {nombre}"

# uso.py
from mi_modulo import saludar
print(saludar("Juan"))
← Volver a temas

🏗️ Programación Orientada a Objetos

Clases:

class Persona:
    def __init__(self, nombre, edad):
        self.nombre = nombre
        self.edad = edad
    
    def saludar(self):
        return f"Hola, soy {self.nombre}"

persona = Persona("Juan", 30)
print(persona.saludar())

Herencia:

class Estudiante(Persona):
    def __init__(self, nombre, edad, grado):
        super().__init__(nombre, edad)
        self.grado = grado
← Volver a temas

🚀 Casos Reales

Desarrollo Web:

  • 🌐 Django - Framework full-stack
  • 🌶️ Flask - Microframework
  • ⚡ FastAPI - APIs modernas

Data Science:

  • 📊 Pandas - Análisis de datos
  • 🔢 NumPy - Cálculo numérico
  • 📈 Matplotlib - Visualización

Machine Learning:

  • 🤖 scikit-learn - ML clásico
  • 🧠 TensorFlow - Deep Learning
  • 🔥 PyTorch - Deep Learning
← Volver a temas

📋 Proyecto Final

Desarrolla una aplicación completa integrando todos los conceptos aprendidos:

  1. 📁 Configuración del proyecto
  2. 📂 Estructura de carpetas
  3. ⚙️ Implementación de funcionalidades
  4. ✅ Testing y documentación
  5. 🚀 Deploy a producción
💡 Proyecto sugerido:

Crea una API REST con FastAPI que incluya autenticación, base de datos y documentación automática.

← Volver a temas

🧪 Testing y Debugging

Unit Testing con pytest:

import pytest

def test_suma():
    assert suma(2, 3) == 5

def test_resta():
    assert resta(5, 3) == 2

# Ejecutar: pytest -v

Debugging:

import pdb
pdb.set_trace()

# O usar IDE breakpoints
← Volver a temas

🚀 Deploy y Producción

Preparar para Producción:

# requirements.txt
flask==2.0.0
gunicorn==20.1.0

# Instalar dependencias
pip install -r requirements.txt

# Ejecutar con Gunicorn
gunicorn -w 4 -b 0.0.0.0:8000 app:app

Virtual Environment:

python -m venv venv
source venv/bin/activate  # Linux/Mac
venv\Scripts\activate     # Windows
pip install -r requirements.txt
← Volver a temas

💻 Ejemplos de Código

📦 Variables

nombre = "Juan"
edad = 30
hobbies = ["leer", "codificar"]

🔧 Funciones

def saludar(nombre):
    return f"Hola {nombre}"

🏗️ Clases

class Persona:
    def __init__(self, nombre):
        self.nombre = nombre

👨‍💻 Desarrollado por Isaac Esteban Haro Torres

Ingeniero en Sistemas · Full Stack · Automatización · Data

📧 Email: zackharo1@gmail.com

📱 WhatsApp: 098805517

💻 GitHub: github.com/ieharo1

🌐 Portafolio: ieharo1.github.io/portafolio-isaac.haro/