Python: Aprende a Programar desde Cero

Python es el lenguaje más demandado en 2025. Es perfecto para principiantes y potente para expertos. En esta guía aprenderás desde los fundamentos hasta proyectos reales con IA.

¿Por Qué Aprender Python?

Instalación y Setup

1. Instalar Python

  1. Ve a python.org
  2. Descarga Python 3.12+ (última versión)
  3. Instala marcando "Add Python to PATH"
  4. Verifica en terminal:
python --version # Debe mostrar: Python 3.12.x

2. Instalar VS Code

  1. Descarga VS Code (code.visualstudio.com)
  2. Instala extensión "Python" de Microsoft
  3. Crea tu primer archivo: hola.py
💡 Tip: Usa ChatGPT como tu profesor. Cualquier duda que tengas, pregúntale. Puede explicar conceptos y generar ejemplos al instante.
📢 ESPACIO PUBLICITARIO - Google AdSense

Fundamentos: Tu Primer Programa

Hello World

print("¡Hola, mundo!") # Output: ¡Hola, mundo!

Variables

nombre = "Juan" edad = 25 altura = 1.75 es_estudiante = True print(f"Me llamo {nombre} y tengo {edad} años")

Operaciones Básicas

# Matemáticas suma = 10 + 5 # 15 resta = 10 - 5 # 5 multiplicacion = 10 * 5 # 50 division = 10 / 3 # 3.333... division_entera = 10 // 3 # 3 potencia = 2 ** 3 # 8 modulo = 10 % 3 # 1

Estructuras de Control

Condicionales (if/elif/else)

edad = 18 if edad >= 18: print("Eres mayor de edad") elif edad >= 13: print("Eres adolescente") else: print("Eres niño")

Loops (for y while)

# For loop for i in range(5): print(f"Número: {i}") # While loop contador = 0 while contador < 5: print(contador) contador += 1 # Iterar lista frutas = ["manzana", "banana", "naranja"] for fruta in frutas: print(f"Me gusta la {fruta}")
📢 ESPACIO PUBLICITARIO - Google AdSense

Estructuras de Datos

Listas (Arrays)

numeros = [1, 2, 3, 4, 5] # Agregar elementos numeros.append(6) numeros.insert(0, 0) # Insertar en posición 0 # Acceder elementos primero = numeros[0] ultimo = numeros[-1] # Slicing primeros_tres = numeros[0:3] print(primeros_tres) # [0, 1, 2]

Diccionarios (JSON-like)

persona = { "nombre": "Ana", "edad": 30, "ciudad": "Madrid" } # Acceder valores print(persona["nombre"]) # Ana print(persona.get("edad")) # 30 # Agregar key persona["profesion"] = "Ingeniera" # Iterar for key, value in persona.items(): print(f"{key}: {value}")

Sets y Tuplas

# Set (sin duplicados) numeros = {1, 2, 3, 3, 4} print(numeros) # {1, 2, 3, 4} # Tupla (inmutable) coordenadas = (10, 20) x, y = coordenadas # Unpacking

Funciones

Crear Funciones

def saludar(nombre): return f"Hola, {nombre}!" def sumar(a, b): return a + b # Usar funciones mensaje = saludar("Carlos") resultado = sumar(5, 3) print(mensaje) # Hola, Carlos! print(resultado) # 8

Parámetros por Defecto

def calcular_precio(precio, descuento=0): return precio * (1 - descuento) print(calcular_precio(100)) # 100 print(calcular_precio(100, 0.2)) # 80
📢 ESPACIO PUBLICITARIO - Google AdSense

Trabajar con Archivos

Leer Archivo

# Leer archivo de texto with open('datos.txt', 'r') as archivo: contenido = archivo.read() print(contenido) # Leer línea por línea with open('datos.txt', 'r') as archivo: for linea in archivo: print(linea.strip())

Escribir Archivo

with open('salida.txt', 'w') as archivo: archivo.write("Hola desde Python\n") archivo.write("Segunda línea")

Librerías Esenciales

requests (APIs)

import requests response = requests.get('https://api.ejemplo.com/datos') datos = response.json() print(datos)

pandas (Datos)

import pandas as pd # Leer CSV df = pd.read_csv('datos.csv') # Ver primeras filas print(df.head()) # Filtrar mayores_30 = df[df['edad'] > 30] # Guardar resultado mayores_30.to_csv('mayores_30.csv', index=False)

matplotlib (Gráficos)

import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] plt.plot(x, y) plt.title('Mi Gráfico') plt.xlabel('X') plt.ylabel('Y') plt.show()

Python + IA: Proyectos Prácticos

1. Chatbot con OpenAI

import openai openai.api_key = 'tu-api-key' def chat(mensaje): response = openai.ChatCompletion.create( model="gpt-4", messages=[{"role": "user", "content": mensaje}] ) return response.choices[0].message.content respuesta = chat("¿Cómo está el clima?") print(respuesta)

2. Web Scraper

import requests from bs4 import BeautifulSoup url = 'https://ejemplo.com' response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') # Extraer títulos titulos = soup.find_all('h2') for titulo in titulos: print(titulo.text)

3. Automatizar Excel

import openpyxl # Abrir Excel wb = openpyxl.load_workbook('datos.xlsx') sheet = wb.active # Leer celdas valor = sheet['A1'].value # Escribir sheet['B1'] = 'Nuevo valor' # Guardar wb.save('datos_modificados.xlsx')
📢 ESPACIO PUBLICITARIO - Google AdSense

Proyectos para Practicar

Nivel Principiante

  1. Calculadora: Operaciones básicas con menú
  2. Adivina el número: Juego con random
  3. To-Do List: Guardar tareas en archivo
  4. Convertidor unidades: Temperatura, moneda, etc.

Nivel Intermedio

  1. Bot de Discord: Con discord.py
  2. API REST: Con Flask o FastAPI
  3. Dashboard datos: Con Streamlit
  4. Scraper noticias: BeautifulSoup + requests

Nivel Avanzado

  1. App completa con IA: ChatGPT API + frontend
  2. Análisis ML: scikit-learn + pandas
  3. Automatización empresa: RPA con Selenium
  4. Trading bot: APIs financieras

Debugging y Errores Comunes

Errores Típicos

# IndentationError (más común) def mi_funcion(): print("Error") # ❌ Falta indentación def mi_funcion(): print("Correcto") # ✅ # NameError print(variable) # ❌ Variable no definida variable = 5 print(variable) # ✅ # TypeError numero = "5" resultado = numero + 10 # ❌ No puedes sumar str + int resultado = int(numero) + 10 # ✅

Usar try/except

try: numero = int(input("Dame un número: ")) resultado = 10 / numero print(resultado) except ValueError: print("Eso no es un número válido") except ZeroDivisionError: print("No puedes dividir entre cero") except Exception as e: print(f"Error inesperado: {e}")

Conceptos Avanzados (Bonus)

List Comprehension

# Forma tradicional cuadrados = [] for i in range(10): cuadrados.append(i ** 2) # List comprehension (pythonic) cuadrados = [i ** 2 for i in range(10)] # Con condición pares = [i for i in range(20) if i % 2 == 0]

Lambda Functions

# Función tradicional def sumar(a, b): return a + b # Lambda (función anónima) sumar = lambda a, b: a + b # Útil con map, filter numeros = [1, 2, 3, 4, 5] cuadrados = list(map(lambda x: x**2, numeros))

Clases (OOP Básico)

class Persona: def __init__(self, nombre, edad): self.nombre = nombre self.edad = edad def saludar(self): return f"Hola, soy {self.nombre}" # Crear instancia persona = Persona("Ana", 25) print(persona.saludar()) # Hola, soy Ana
📢 ESPACIO PUBLICITARIO - Google AdSense

Roadmap de Aprendizaje

Semana 1-2: Fundamentos

Semana 3-4: Intermedio

Mes 2-3: Avanzado

Recursos de Aprendizaje

Gratis

Práctica

Tips para Aprender Más Rápido

🚀 Estrategia comprobada:
  1. 20 min teoría (ver tutorial)
  2. 40 min práctica (escribir código)
  3. Repetir diario (consistencia > intensidad)
  4. Construir proyectos (aprendes haciendo)
  5. Usar ChatGPT cuando te atores (no te frustres)

Errores a Evitar

¿Cuánto Tiempo Toma?

Conclusión

Python es el lenguaje perfecto para empezar a programar. Su sintaxis clara y la enorme comunidad hacen que aprender sea accesible para cualquiera. Combínalo con IA (ChatGPT, Copilot) y aprenderás 3x más rápido.

🎓 Curso Premium: Programación con IA
Aprende Python desde cero hasta crear aplicaciones completas integrando ChatGPT, automatización y deployment en la nube. Incluye proyectos reales y certificación.