1. Introducción a Python
🐍 1.1 ¿Qué es Python y qué lo hace especial?
Section titled “🐍 1.1 ¿Qué es Python y qué lo hace especial?”Definición de Python
Section titled “Definición de Python”Python es un lenguaje de programación de alto nivel, interpretado, multiparadigma y de propósito general, creado por Guido van Rossum en 1991. Su filosofía de diseño enfatiza la legibilidad del código mediante una sintaxis clara y expresiva, lo que lo convierte en uno de los lenguajes más accesibles para principiantes y, al mismo tiempo, lo suficientemente potente para aplicaciones profesionales complejas.
Características que lo hacen especial
Section titled “Características que lo hacen especial”| Característica | Descripción |
|---|---|
| Sintaxis simple | Minimalista, sin punto y coma ni llaves; usa indentación |
| Interpretado | Ejecuta código línea por línea, facilitando depuración |
| Multiparadigma | Soporta programación imperativa, orientada a objetos y funcional |
| Tipado dinámico | No requiere declarar tipos; Python los infiere automáticamente |
| Biblioteca estándar | Extensa colección de módulos (“batteries included”) |
| Comunidad activa | Abundante documentación, frameworks y librerías en PyPI |
Ejemplo: Comparación de sintaxis
Section titled “Ejemplo: Comparación de sintaxis”Imprimir “Hola Mundo” en diferentes lenguajes:
# Pythonprint("Hola Mundo")
// Javapublic class Main { public static void main(String[] args) { System.out.println("Hola Mundo"); }}
// C++#include <iostream>int main() { std::cout << "Hola Mundo" << std::endl; return 0;}Ejemplo: Tipado dinámico
Section titled “Ejemplo: Tipado dinámico”# Python infiere automáticamente el tipo de datonumero = 42 # int (entero)texto = "Python" # str (cadena)decimal = 3.14 # float (decimal)activo = True # bool (booleano)
# Verificar el tipo de datoprint(type(numero)) # <class 'int'>print(type(texto)) # <class 'str'>Ejemplo: Legibilidad del código
Section titled “Ejemplo: Legibilidad del código”# Python usa indentación en lugar de llavesif edad >= 18: print("Eres mayor de edad") print("Puedes votar")else: print("Eres menor de edad")🌍 1.2 Aplicaciones reales de Python en el mundo
Section titled “🌍 1.2 Aplicaciones reales de Python en el mundo”Python se ha consolidado como uno de los lenguajes más versátiles y demandados en la industria tecnológica actual. Su facilidad de uso, combinada con su potencia, lo hace ideal para una amplia gama de aplicaciones profesionales.
Áreas de aplicación principales
Section titled “Áreas de aplicación principales”| Área | Descripción | Herramientas |
|---|---|---|
| Ciencia de Datos | Análisis de grandes volúmenes de datos | Pandas, NumPy, Matplotlib |
| IA y Machine Learning | Modelos de aprendizaje automático y redes neuronales | TensorFlow, PyTorch, Scikit-learn |
| Desarrollo Web | Aplicaciones web escalables y seguras | Django, Flask |
| Automatización | Scripts para tareas repetitivas, web scraping | Selenium, BeautifulSoup |
| Videojuegos | Prototipos y juegos independientes | Pygame |
| Finanzas | Trading algorítmico, análisis de riesgos | QuantLib, Zipline |
| Investigación | Simulaciones, análisis estadístico | SciPy, SymPy |
| IoT | Domótica, robótica, sistemas embebidos | Raspberry Pi, MicroPython |
Empresas que usan Python
Section titled “Empresas que usan Python”Ejemplo: Análisis de datos simple
Section titled “Ejemplo: Análisis de datos simple”import pandas as pd
# Cargar datos de ventasventas = pd.read_csv('ventas.csv')
# Calcular total de ventas por productototal_por_producto = ventas.groupby('producto')['monto'].sum()
# Mostrar los 5 productos más vendidosprint(total_por_producto.sort_values(ascending=False).head())Ejemplo: Automatización de tareas
Section titled “Ejemplo: Automatización de tareas”import osimport shutil
# Organizar archivos por extensióncarpeta = "Descargas"for archivo in os.listdir(carpeta): if archivo.endswith('.pdf'): shutil.move(f"{carpeta}/{archivo}", "Documentos/PDFs/") elif archivo.endswith('.jpg') or archivo.endswith('.png'): shutil.move(f"{carpeta}/{archivo}", "Imagenes/")
print("Archivos organizados correctamente")💻 1.3 ¿Qué se necesita para programar? Hardware y mentalidad
Section titled “💻 1.3 ¿Qué se necesita para programar? Hardware y mentalidad”Requisitos de Hardware
Section titled “Requisitos de Hardware”Contrario a la creencia popular, no se necesita un equipo de alta gama para aprender a programar en Python. Los requisitos de hardware son modestos y accesibles para la mayoría de usuarios.
| Componente | Mínimo | Recomendado |
|---|---|---|
| Procesador | 1 GHz (Intel, AMD, ARM) | Intel Core i5 / AMD Ryzen 5 |
| Memoria RAM | 2 GB | 8 GB o más |
| Almacenamiento | 1 GB libre | SSD con 20 GB libres |
| Sistema Operativo | Windows 7+, macOS 10.9+, Linux | Cualquier versión moderna |
| Pantalla | 1366x768 | 1920x1080 |
Mentalidad del programador
Section titled “Mentalidad del programador”El hardware es solo una herramienta; la mentalidad es el factor más importante para tener éxito en la programación.
| Habilidad | Descripción |
|---|---|
| Pensamiento lógico | Descomponer problemas complejos en pasos simples y secuenciales |
| Aprendizaje continuo | Disposición a aprender nuevas herramientas y mejores prácticas |
| Perseverancia | Paciencia para depurar código y buscar soluciones sin rendirse |
| Atención al detalle | Precisión y cuidado en cada línea de código |
| Colaboración | Comunicar ideas técnicas y trabajar en equipo |
| Orientación a objetivos | Establecer metas claras que mantengan la motivación |
Ejemplo: Pensamiento lógico aplicado
Section titled “Ejemplo: Pensamiento lógico aplicado”Problema: Determinar si un número es par o impar.
Descomposición del problema:
- Recibir un número del usuario
- Dividir el número entre 2
- Si el residuo es 0, el número es par
- Si el residuo es 1, el número es impar
- Mostrar el resultado
# Solución en Pythonnumero = int(input("Ingresa un número: "))
if numero % 2 == 0: print(f"{numero} es par")else: print(f"{numero} es impar")Ejemplo: Depuración de errores
Section titled “Ejemplo: Depuración de errores”# ❌ Código con errornombre = "Juanprint(nombre)# SyntaxError: unterminated string literal
# ✅ Código corregidonombre = "Juan" # Faltaba cerrar las comillasprint(nombre)Herramientas que facilitan el aprendizaje
Section titled “Herramientas que facilitan el aprendizaje”- Editor de código: VSCode, PyCharm, IDLE
- Documentación oficial: python.org/docs
- Comunidades: Stack Overflow, Reddit (r/learnpython)
- Plataformas de práctica: HackerRank, LeetCode, Codewars
⚙️ 1.4 Instalación de Python y configuración del entorno
Section titled “⚙️ 1.4 Instalación de Python y configuración del entorno”Instalación de Python
Section titled “Instalación de Python”Python es multiplataforma y puede instalarse en Windows, macOS y Linux. La instalación incluye el intérprete de Python y IDLE (Integrated Development and Learning Environment), un entorno básico para escribir y ejecutar código.
Versiones de Python:
- Python 2.x: Versión legacy, descontinuada desde 2020
- Python 3.x: Versión actual y recomendada (3.8, 3.9, 3.10, 3.11, 3.12)
Entornos de desarrollo
Section titled “Entornos de desarrollo”| Entorno | Descripción | Ventajas | Desventajas |
|---|---|---|---|
| IDLE | Entorno oficial incluido con Python | Ligero, sin configuración | Funcionalidades limitadas |
| VSCode | Editor gratuito de Microsoft | Autocompletado, depurador, extensiones | Requiere configuración inicial |
| PyCharm | IDE profesional de JetBrains | Refactorización avanzada, análisis de código | Consume más recursos |
| Jupyter | Entorno interactivo en navegador | Ideal para ciencia de datos | No apto para proyectos grandes |
Variables de entorno
Section titled “Variables de entorno”Durante la instalación, es crucial marcar la opción “Add Python to PATH”. Esto permite ejecutar Python desde cualquier ubicación en la terminal/consola sin especificar la ruta completa del ejecutable.
Instalación paso a paso en Windows
Section titled “Instalación paso a paso en Windows”- Descargar Python: Visita python.org/downloads y descarga la última versión de Python 3.x
- Ejecutar el instalador: ✅ Marca la casilla “Add Python to PATH” (muy importante) y click en “Install Now”
- Verificar la instalación: Abre CMD o PowerShell y ejecuta
python --version
# Verificar instalación de Pythonpython --version
# Verificar instalación de pip (gestor de paquetes)pip --version
# Abrir el shell interactivo de PythonpythonConfiguración de VSCode para Python
Section titled “Configuración de VSCode para Python”- Instalar VSCode: Descarga desde code.visualstudio.com
- Instalar extensión de Python: Ve a Extensions (Ctrl+Shift+X), busca “Python” (de Microsoft) y click en “Install”
- Crear tu primer archivo: Crea un archivo llamado
hola.pyy VSCode detectará automáticamente que es Python
Ejemplo: Primer programa en IDLE
Section titled “Ejemplo: Primer programa en IDLE”# 1. Abre IDLE desde el menú de inicio# 2. Ve a File > New File# 3. Escribe el siguiente código:
print("¡Mi primer programa en Python!")print("Python es genial")
# 4. Guarda el archivo como "mi_primer_programa.py"# 5. Presiona F5 para ejecutar🖨️ 1.5 Primeros pasos: imprimir tu primer mensaje (print)
Section titled “🖨️ 1.5 Primeros pasos: imprimir tu primer mensaje (print)”La función print()
Section titled “La función print()”La función print() es una de las funciones más fundamentales en Python. Su propósito es mostrar información en la consola o terminal, permitiendo al programador visualizar resultados, depurar código y comunicarse con el usuario.
Sintaxis básica:
print(valor)Características de print()
Section titled “Características de print()”| Característica | Descripción |
|---|---|
| Múltiples argumentos | Recibe uno o más valores separados por comas |
| Conversión automática | Convierte cualquier tipo de dato a texto |
| Salto de línea | Agrega \n al final por defecto |
Parámetro sep | Define el separador entre argumentos (default: espacio) |
Parámetro end | Define qué se imprime al final (default: \n) |
Secuencias de escape
Section titled “Secuencias de escape”| Secuencia | Descripción |
|---|---|
\n | Salto de línea |
\t | Tabulación horizontal |
\\ | Barra invertida literal |
\" | Comillas dobles literales |
\' | Comillas simples literales |
Ejemplo: Uso básico de print()
Section titled “Ejemplo: Uso básico de print()”# Imprimir un mensaje simpleprint("Hola Mundo")
# Imprimir númerosprint(42)print(3.14159)
# Imprimir valores booleanosprint(True)print(False)
# Imprimir sin argumentos (línea en blanco)print()Ejemplo: Imprimir múltiples valores
Section titled “Ejemplo: Imprimir múltiples valores”# Múltiples argumentos separados por comasprint("Python", "es", "genial")# Salida: Python es genial
# Combinar texto y númerosnombre = "Ana"edad = 25print("Mi nombre es", nombre, "y tengo", edad, "años")# Salida: Mi nombre es Ana y tengo 25 años
# Operaciones dentro de printprint("La suma de 5 + 3 es:", 5 + 3)# Salida: La suma de 5 + 3 es: 8Ejemplo: Parámetros sep y end
Section titled “Ejemplo: Parámetros sep y end”# Cambiar el separadorprint("Python", "Java", "C++", sep=" | ")# Salida: Python | Java | C++
# Cambiar el final (sin salto de línea)print("Cargando", end="...")print("Completado")# Salida: Cargando...Completado
# Crear una barra de progreso simpleprint("[", end="")print("====", end="")print("]")# Salida: [====]Ejemplo: Formato con f-strings (Python 3.6+)
Section titled “Ejemplo: Formato con f-strings (Python 3.6+)”# F-strings para formateo modernonombre = "Carlos"edad = 28altura = 1.75
print(f"Hola, soy {nombre}")print(f"Tengo {edad} años y mido {altura} metros")
# Operaciones dentro de f-stringsprecio = 100descuento = 0.15precio_final = precio * (1 - descuento)print(f"Precio final: {precio_final} pesos")
# Formateo de decimalespi = 3.14159265359print(f"El valor de pi es aproximadamente {pi:.2f}")# Salida: El valor de pi es aproximadamente 3.14📝 1.6 Comentarios y buenas prácticas desde el inicio
Section titled “📝 1.6 Comentarios y buenas prácticas desde el inicio”¿Qué son los comentarios?
Section titled “¿Qué son los comentarios?”Los comentarios son líneas de texto dentro del código que el intérprete de Python ignora completamente durante la ejecución. Su único propósito es proporcionar información legible para humanos: explicar qué hace el código, por qué se tomó cierta decisión o dejar notas para futuros desarrolladores.
Tipos de comentarios en Python
Section titled “Tipos de comentarios en Python”| Tipo | Sintaxis | Descripción |
|---|---|---|
| Una línea | # comentario | Todo después de # es ignorado |
| Multilínea | """texto""" | Cadenas de texto (docstrings) |
Buenas prácticas de programación
Section titled “Buenas prácticas de programación”| Práctica | Descripción |
|---|---|
| Nombres descriptivos | Usa nombres que expliquen qué contiene la variable |
| Consistencia (PEP 8) | snake_case para variables/funciones, 4 espacios de indentación |
| Comentarios útiles | Agregar valor, no repetir lo obvio |
| Código simple | ”Simple es mejor que complejo” (Zen de Python) |
Ejemplo: Comentarios de una línea
Section titled “Ejemplo: Comentarios de una línea”# Este programa calcula el área de un rectángulo
# Definir las dimensionesbase = 10 # en metrosaltura = 5 # en metros
# Calcular el áreaarea = base * altura
# Mostrar el resultadoprint(f"El área del rectángulo es: {area} m²")Ejemplo: Buenas prácticas aplicadas
Section titled “Ejemplo: Buenas prácticas aplicadas”# ❌ Código mal escritox=5y=10z=x+yprint(z)
# ✅ Código bien escritonumero_uno = 5numero_dos = 10suma_total = numero_uno + numero_dosprint(f"La suma de {numero_uno} y {numero_dos} es: {suma_total}")