Contenido del curso
Fundamentos de Python
Los fundamentos de Python incluyen la sintaxis (sangría para bloques de código), los tipos de datos básicos (numéricos, booleanos, cadenas de texto), las variables, el control de flujo (condicionales como if/elif/else y bucles como for/while), y las funciones (bloques de código reutilizables).
0/6
Operadores y Control de Flujo
Los operadores en Python se clasifican en varios tipos (aritméticos, de comparación, lógicos, de asignación, etc.), mientras que el control de flujo se refiere al orden en que se ejecutan las instrucciones, modificándolo con estructuras como if, elif, else (condicionales), y for o while (bucles). Las instrucciones break, continue y pass también controlan el flujo dentro de los bucles.
0/3
Funciones y Manejo de Errores
Las funciones en Python son bloques de código reutilizables, mientras que el manejo de errores (excepciones) se hace con los bloques try, except, else y finally para gestionar errores de ejecución y evitar que el programa se detenga abruptamente. try ejecuta un código, except lo captura si ocurre un error específico, else se ejecuta si no hay error y finally se ejecuta siempre, haya o no error.
0/3
Estructuras de Datos
Las estructuras de datos principales en Python son las listas, tuplas, diccionarios y conjuntos. Estos tipos de datos se diferencian por su mutabilidad (si sus elementos se pueden cambiar después de su creación) y si mantienen el orden de los elementos. Las listas son ordenadas y mutables, mientras que las tuplas son ordenadas e inmutables. Los diccionarios son colecciones no ordenadas de pares clave-valor, y los conjuntos son colecciones desordenadas de elementos únicos.
0/5
Programación Orientada a Objetos (POO)
La Programación Orientada a Objetos (POO) en Python es un paradigma que organiza el código en torno a objetos, que son instancias de clases. Las clases actúan como plantillas que definen los atributos (datos) y métodos (comportamientos) de los objetos, permitiendo crear programas más modularizados, reutilizables y fáciles de mantener. Python soporta conceptos clave de la POO como la herencia, el encapsulamiento y el polimorfismo.
0/5
Ambientes virtuales
Un entorno virtual de Python es un espacio aislado que permite instalar paquetes y dependencias específicos para un proyecto concreto sin afectar a otras aplicaciones o a la instalación global de Python. Se crea una carpeta con una instalación de Python y una copia local de pip dentro de este entorno, lo que permite a cada proyecto tener sus propias bibliotecas y versiones, evitando así conflictos entre diferentes proyectos que puedan requerir versiones distintas de la misma librería.
0/1
Archivos
El manejo de archivos en Python se realiza principalmente usando la función open() para abrir un archivo y los métodos read(), write(), append() y close() para manipularlo. Es crucial gestionar los archivos adecuadamente, cerrándolos para liberar recursos, aunque es más recomendable usar la sentencia with, que cierra el archivo automáticamente. Python permite trabajar con archivos de texto y binarios, así como con distintos modos de apertura como 'r' (solo lectura), 'w' (escritura/sobreescritura), y 'a' (añadir).
0/1
Módulos y Librerías Estándar
Un "módulo" en Python se refiere a dos conceptos distintos: un archivo .py con código que se puede importar para reutilizar funciones, clases y variables, y el operador % que calcula el residuo de una división entera. Ambos son útiles para organizar el código y resolver problemas matemáticos, respectivamente.
0/2
Hilos y tareas en Python
En Python, los hilos (threads) son secuencias de ejecución dentro de un proceso que permiten la concurrencia, ejecutando tareas simultáneamente para aprovechar mejor los recursos del sistema. Las tareas son las unidades de trabajo a realizar, como descargar archivos o procesar datos. Se utilizan para manejar operaciones que implican espera (I/O-bound) de forma eficiente, permitiendo que una aplicación no se bloquee mientras espera. Para ello, se usa el módulo threading, se crean objetos Thread que representan las tareas, se inician con .start() y se pueden sincronizar con mecanismos como Lock para evitar conflictos.
0/1
Curso de Programación en Pythón 3.

🧩 Parte 1 — Breve historia del lenguaje Python

Python es un lenguaje de programación creado por Guido van Rossum a finales de la década de 1980. Su primera versión pública apareció en 1991. Desde entonces, Python ha pasado de ser un proyecto personal a convertirse en uno de los lenguajes más populares del planeta, usado en educación, ciencia, desarrollo web, inteligencia artificial, automatización, videojuegos y más.

🎓 Origen y propósito

Guido van Rossum trabajaba en el Centro para las Matemáticas y la Informática (CWI) en Ámsterdam cuando comenzó a diseñar Python. Su objetivo era crear un lenguaje que fuera:

  • Fácil de leer y escribir.
  • Tan potente como los grandes lenguajes de la época (C o Java), pero mucho más sencillo.
  • Ideal para enseñar programación y desarrollar proyectos reales sin complejidad innecesaria.

Guido eligió el nombre “Python” no por la serpiente, sino en honor al grupo cómico británico “Monty Python’s Flying Circus”. De hecho, el humor y la sencillez son valores que se reflejan en la filosofía del lenguaje.


📅 Evolución de las versiones

Desde su lanzamiento, Python ha evolucionado en tres grandes etapas:

VersiónAñoCaracterísticas destacadas
Python 1.01991Primer lanzamiento oficial. Incluye funciones básicas, manejo de excepciones y tipos de datos fundamentales (str, list, dict).
Python 2.02000Introduce la recolección de basura automática y soporte para Unicode. Marcó un gran salto en madurez.
Python 3.02008Rediseño completo para simplificar la sintaxis y mejorar la compatibilidad con sistemas modernos. No retrocompatible con Python 2.

Hoy en día, la versión estable es Python 3 (la única oficialmente mantenida), y cada año recibe mejoras en rendimiento, seguridad y sintaxis.


🖥️ Ejemplo histórico

El clásico “Hola, Mundo” se ha usado en casi todos los lenguajes como ejemplo inicial. Python lo simplificó hasta el extremo:


# Hola Mundo en Python
print("¡Hola, mundo!")

En 1991, este código fue una revolución en sí mismo. Mientras otros lenguajes necesitaban varias líneas para imprimir texto en pantalla, Python lo hacía con una sola instrucción, legible y directa.


📈 Popularidad y adopción

Python creció lentamente durante los primeros años, pero su popularidad explotó con la llegada de:

  • El auge del análisis de datos y la inteligencia artificial.
  • Frameworks como Django y Flask para desarrollo web.
  • El enfoque educativo en universidades y escuelas de todo el mundo.

Hoy, Python es un lenguaje de propósito general, utilizado tanto por programadores profesionales como por científicos, profesores, ingenieros y hasta artistas digitales.


🏆 Curiosidades

  • Guido van Rossum fue conocido como el “Benevolent Dictator for Life (BDFL)” de Python hasta 2018, cuando dejó oficialmente el liderazgo.
  • Python tiene su propio manifiesto filosófico llamado “The Zen of Python”, accesible desde el intérprete con el comando import this.
  • La comunidad global celebra anualmente el PyCon, el mayor evento internacional sobre Python.

💡 Conclusión

Python nació con una idea clara: hacer la programación más humana, más legible y más divertida. Desde su creación en los 90 hasta su consolidación actual como uno de los pilares del desarrollo tecnológico, Python ha demostrado que la simplicidad bien aplicada es una forma de poder.

🧠 Parte 2 — Filosofía y principios (“The Zen of Python”)

Detrás de la enorme popularidad de Python no hay solo un buen diseño técnico, sino también una filosofía de vida para programadores. Esta filosofía se llama “The Zen of Python” y resume la forma en que deben escribirse los programas en este lenguaje.

Fue creada por Tim Peters en 1999 y se incluye directamente en el intérprete de Python. Puedes leerla escribiendo lo siguiente en tu terminal o entorno interactivo:


>>> import this

Al ejecutarlo, aparecerá un poema corto de 19 principios que representan la esencia del diseño de Python. Vamos a desmenuzarlo y entenderlo en lenguaje humano.


📜 El Zen de Python (traducción libre)

Bello es mejor que feo.
Explícito es mejor que implícito.
Simple es mejor que complejo.
Complejo es mejor que complicado.
Plano es mejor que anidado.
Disperso es mejor que denso.
La legibilidad cuenta.
Los casos especiales no son lo suficientemente especiales como para romper las reglas.
Aunque la practicidad supera a la pureza.
Los errores nunca deberían pasar silenciosamente.
A menos que se silencien explícitamente.
Frente a la ambigüedad, rechaza la tentación de adivinar.
Debe haber una —y preferiblemente solo una— manera obvia de hacerlo.
Aunque esa manera puede no ser obvia al principio a menos que seas holandés.
Ahora es mejor que nunca.
Aunque nunca es a menudo mejor que *ya mismo*.
Si la implementación es difícil de explicar, es una mala idea.
Si la implementación es fácil de explicar, puede que sea una buena idea.
Los espacios son un gran recurso.


✨ Interpretando los principios

Cada una de estas frases encierra una idea sobre cómo escribir código limpio, legible y mantenible. Veamos algunas con ejemplos prácticos:

1️⃣ Bello es mejor que feo

El código debe ser agradable a la vista. No se trata de estética superficial, sino de estructura clara y ordenada.


# Feo
a,b,c=10,20,30;print(a+b+c)

# Bello
a = 10
b = 20
c = 30
print(a + b + c)

El mismo resultado, pero el segundo bloque es comprensible al instante. Un código bonito es un código que otro programador —o tú mismo en seis meses— puede entender fácilmente.


2️⃣ Explícito es mejor que implícito

Evita la magia. Es mejor mostrar claramente lo que el código hace.


# Implícito (difícil de entender)
resultado = datos or []

# Explícito
if datos:
    resultado = datos
else:
    resultado = []

En Python, ser claro es más valioso que ser corto. La legibilidad gana siempre.


3️⃣ Simple es mejor que complejo

Evita soluciones rebuscadas. El mejor código es el que hace lo que debe, sin adornos innecesarios.


# Complejo
def suma(*args): return sum([x for x in args if isinstance(x, (int, float))])

# Simple
def suma(a, b):
    return a + b

Cuando algo se pueda resolver con una línea sencilla, no lo compliques. La elegancia nace de la simplicidad.


4️⃣ Plano es mejor que anidado

Evita estructuras con demasiados niveles de sangría. Cada nivel extra reduce la claridad.


# Demasiado anidado
if a:
    if b:
        if c:
            print("Demasiado profundo")

# Más plano
if a and b and c:
    print("Más limpio y claro")

5️⃣ La legibilidad cuenta

En Python, leer el código debe ser tan natural como leer un texto en inglés. Por eso se usan espacios y nombres de variables descriptivos:


# Difícil de leer
def c(l):return[l[i]*2for i in range(len(l))]

# Legible
def duplicar_lista(lista):
    return [elemento * 2 for elemento in lista]

Este principio es uno de los pilares de la comunidad Python. El código no solo debe funcionar, debe comunicarse.


6️⃣ La practicidad supera a la pureza

A veces, lo más limpio o “correcto” no es lo más útil. Python prioriza la eficiencia práctica sobre la perfección teórica.


# Idealmente puro, pero largo
if usuario is not None and len(usuario) > 0:
    print("Usuario válido")

# Práctico y suficiente
if usuario:
    print("Usuario válido")

Haz que el código funcione bien y sea mantenible, incluso si no cumple todos los estándares de estilo al milímetro.


7️⃣ Debe haber una —y preferiblemente solo una— manera obvia de hacerlo

Python busca la consistencia. No quiere diez formas distintas de hacer lo mismo. Esto hace que todos los proyectos Python se vean parecidos y se entiendan fácilmente entre desarrolladores.


# Dos formas de concatenar cadenas
mensaje = "Hola, " + nombre     # ✅ forma común
mensaje = f"Hola, {nombre}"     # ✅ forma moderna y recomendada

Python evita la ambigüedad para que el código sea más predecible y coherente.


8️⃣ Ahora es mejor que nunca

No esperes a tener todo perfecto para empezar. Python promueve la acción: escribe, prueba, mejora y repite.


# Empieza con algo simple
def saludar():
    print("¡Hola, mundo!")

saludar()

El aprendizaje en Python (y en la vida) se basa en iterar. Lo importante es empezar y mejorar sobre la marcha.


🏁 Conclusión

El Zen de Python no es un documento técnico: es una guía ética de cómo pensar y programar.
Sigue sus principios y tus programas serán más limpios, mantenibles y comprensibles, incluso para ti mismo en el futuro.

Recuerda siempre: “La legibilidad cuenta”.

🚀 Parte 3 — Ventajas y aplicaciones reales de Python

Python no solo es un lenguaje bonito o fácil de aprender: es una herramienta poderosa que se usa en casi todos los sectores tecnológicos. Desde la web hasta la inteligencia artificial, su versatilidad lo convierte en uno de los lenguajes más demandados en el mercado laboral actual.

En esta parte exploraremos sus ventajas más notables y sus aplicaciones reales en distintas áreas profesionales.


💪 Principales ventajas de Python

Estas son las razones por las que millones de desarrolladores eligen Python como su lenguaje principal:

VentajaDescripciónEjemplo o aplicación
1. Sintaxis clara y legiblePython se lee casi como inglés natural. Ideal para principiantes y equipos grandes.print("Hola, mundo!")
2. MultiplataformaFunciona en Windows, macOS, Linux e incluso Android y Raspberry Pi.Desarrollo universal sin cambios de código.
3. Amplia biblioteca estándarIncluye módulos para manejar archivos, redes, fechas, bases de datos y más.import os, datetime, json
4. Comunidad activaMillones de usuarios, foros, cursos y eventos como PyCon en todo el mundo.Respuestas rápidas y soluciones compartidas.
5. Lenguaje multiparadigmaSoporta programación estructurada, orientada a objetos y funcional.Combina la claridad de lo simple con el poder de lo complejo.
6. Gran ecosistema de libreríasPermite desarrollar casi cualquier tipo de aplicación con frameworks y paquetes de terceros.Pandas, Flask, TensorFlow, Selenium, etc.
7. Integración con otros lenguajesPuede comunicarse fácilmente con C, C++, Java, R y SQL.Ideal para proyectos mixtos o científicos.

🌐 Aplicaciones reales de Python

Veamos cómo se usa Python en distintas ramas del desarrollo tecnológico, con ejemplos que ilustran su poder.


1️⃣ Desarrollo Web

Python es uno de los pilares del backend moderno. Gracias a frameworks como Django y Flask, permite construir sitios web robustos y seguros en poco tiempo.


# Ejemplo básico con Flask (microframework)
from flask import Flask

app = Flask(__name__)

@app.route('/')
def inicio():
    return "¡Bienvenido a mi web con Flask!"

if __name__ == '__main__':
    app.run(debug=True)

En pocas líneas tienes un servidor web funcional. Por eso grandes plataformas como Instagram, Spotify o Reddit usan Python en sus backends.


2️⃣ Ciencia de Datos y Estadística

Python es el lenguaje estrella en el análisis de datos. Con librerías como Pandas, NumPy y Matplotlib, puedes limpiar, analizar y visualizar información fácilmente.


import pandas as pd
import matplotlib.pyplot as plt

# Cargar un pequeño conjunto de datos
datos = pd.DataFrame({
    "Año": [2020, 2021, 2022],
    "Usuarios": [1200, 2500, 4000]
})

# Mostrar gráfico
plt.plot(datos["Año"], datos["Usuarios"], marker="o")
plt.title("Crecimiento de usuarios")
plt.xlabel("Año")
plt.ylabel("Cantidad")
plt.show()

Python domina en este campo gracias a su sintaxis simple y su enorme potencia en estadística, visualización y machine learning.


3️⃣ Inteligencia Artificial y Machine Learning

En la IA, Python se ha convertido en el estándar de facto. Su ecosistema incluye librerías como TensorFlow, PyTorch y scikit-learn.


from sklearn.linear_model import LinearRegression
import numpy as np

# Datos de ejemplo
x = np.array([[1], [2], [3], [4]])
y = np.array([2, 4, 6, 8])

# Entrenar modelo
modelo = LinearRegression()
modelo.fit(x, y)

# Predicción
pred = modelo.predict([[5]])
print("Predicción para x=5:", pred)

En solo unas líneas, creas y entrenas un modelo predictivo. Por eso Python es la elección dominante en machine learning, deep learning y procesamiento de lenguaje natural (NLP).


4️⃣ Automatización y Scripting

Python es el aliado perfecto para automatizar tareas repetitivas: mover archivos, renombrar documentos, limpiar carpetas, etc. Es muy usado en DevOps, administración de sistemas y testing.


import os

# Crear copias de seguridad automáticas
origen = "/home/javier/documentos"
destino = "/home/javier/backup"

for archivo in os.listdir(origen):
    if archivo.endswith(".txt"):
        os.system(f"cp {os.path.join(origen, archivo)} {destino}")
        print(f"Archivo {archivo} copiado con éxito.")

Python puede integrarse con cronjobs, Docker o Jenkins, lo que lo hace muy útil para automatizar despliegues y tareas del día a día.


5️⃣ Ciberseguridad y Pentesting

Muchos pentesters y analistas de seguridad usan Python para crear scripts de análisis de vulnerabilidades o herramientas de auditoría.


import socket

# Escáner simple de puertos
ip = "127.0.0.1"
for puerto in range(75, 85):
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    resultado = s.connect_ex((ip, puerto))
    if resultado == 0:
        print(f"Puerto {puerto} abierto")
    s.close()

Su capacidad para interactuar con redes, sistemas y APIs lo convierte en un lenguaje esencial en seguridad informática.


6️⃣ Desarrollo de videojuegos

Aunque no es su campo principal, Python también permite crear videojuegos con librerías como Pygame.


import pygame
pygame.init()

pantalla = pygame.display.set_mode((400, 300))
pygame.display.set_caption("Mi primer juego en Python")

running = True
while running:
    for evento in pygame.event.get():
        if evento.type == pygame.QUIT:
            running = False
pygame.quit()

Ideal para enseñar programación o crear prototipos rápidos. Muchos desarrolladores indie lo usan por su simplicidad.


🏁 Conclusión

Python es mucho más que un lenguaje de moda. Es una plataforma versátil, accesible y poderosa que permite crear desde scripts simples hasta sistemas complejos de inteligencia artificial. Su lema no oficial podría ser: “Si puedes imaginarlo, puedes hacerlo con Python.”

Esta combinación de simplicidad, potencia y comunidad lo convierte en una elección ideal para cualquier carrera tecnológica.

⚖️ Parte 4 — Ventajas y desventajas frente a otros lenguajes

Python es un lenguaje increíblemente popular, pero ningún lenguaje es perfecto. En esta parte analizaremos sus fortalezas y limitaciones frente a otros lenguajes como Java, C++, JavaScript o Go.


🏆 Ventajas de Python

Python tiene una serie de cualidades que lo convierten en un favorito entre programadores, científicos y docentes. A continuación, una comparación general frente a otros lenguajes populares:

AspectoPythonJavaC++JavaScript
Curva de aprendizajeMuy baja. Sintaxis simple, ideal para principiantes.Media. Requiere estructura y conocimiento previo.Alta. Complejidad en memoria y punteros.Media. Fácil, pero confusa para backend.
Legibilidad del códigoExcelente. Casi se lee como inglés.Buena, pero más verbosa.Difícil. Mucha sintaxis y operadores.Irregular, depende del estilo del programador.
ProductividadMuy alta. Permite crear prototipos en minutos.Alta, pero más rígida.Media. Mayor tiempo de desarrollo.Alta en web, baja en lógica compleja.
Bibliotecas y frameworksGigantesco ecosistema (Flask, Django, TensorFlow, Pandas…)Amplio (Spring, Hibernate, etc.)Bueno, pero menos accesible.Excelente para frontend (React, Vue, Angular)
Multiplataforma✔️ Sí✔️ Sí✔️ Sí✔️ Navegadores y servidores
Velocidad de ejecución❌ Lenta (interpretado)✔️ Rápida (compilado a bytecode)✔️ Muy rápida (compilado a binario)✔️ Rápida en entornos modernos
Gestión de memoriaAutomática, mediante recolector de basuraAutomáticaManual (más control, más riesgo)Automática
Aplicaciones principalesIA, Data Science, Web, AutomatizaciónAplicaciones empresariales y móvilesJuegos, sistemas embebidos, motoresFrontend y backend web

💡 Ejemplos de comparación práctica

1️⃣ Simplicidad del “Hola Mundo”

En Python, imprimir texto es cuestión de una sola línea:


print("Hola, mundo")

Mientras que en Java:


public class HolaMundo {
    public static void main(String[] args) {
        System.out.println("Hola, mundo");
    }
}

Y en C++:


#include <iostream>
using namespace std;

int main() {
    cout << "Hola, mundo" << endl;
    return 0;
}

La diferencia en líneas y complejidad sintáctica es clara: Python prioriza la eficiencia mental sobre la verbosidad.


2️⃣ Tipado dinámico vs tipado estático

En Python no necesitas declarar tipos, el intérprete los infiere automáticamente:


x = 42
x = "Ahora soy una cadena"

En Java o C++, en cambio, el tipo es fijo:


int x = 42;
// x = "cadena"; // ❌ Error de compilación

Esto hace a Python más flexible, pero también más propenso a errores si no se tiene cuidado.


3️⃣ Gestión de memoria y punteros

Python evita los punteros y administra automáticamente la memoria, a diferencia de C++.


lista = [1, 2, 3]
lista.append(4)
print(lista)

En C++, el mismo proceso implica asignar memoria manualmente:


int* arr = new int[3]{1, 2, 3};
int* nuevoArr = new int[4];
for (int i = 0; i < 3; i++) nuevoArr[i] = arr[i];
nuevoArr[3] = 4;
delete[] arr;
arr = nuevoArr;

El control total de C++ es útil en software de alto rendimiento, pero exige mucha más precisión y experiencia.


⚠️ Desventajas de Python

Python tiene limitaciones técnicas que conviene conocer antes de usarlo en ciertos contextos.

DesventajaDescripciónAlternativas o mitigaciones
1. RendimientoAl ser interpretado, es más lento que C++ o Java en procesos intensivos.Usar módulos como Numba o integrar con C mediante Cython.
2. Consumo de memoriaLas estructuras dinámicas ocupan más espacio, lo que puede ser un problema en sistemas embebidos.Optimizar estructuras de datos y usar generadores.
3. No es ideal para apps móvilesAunque existen proyectos como Kivy o BeeWare, no es el estándar móvil.Usar Java/Kotlin (Android) o Swift (iOS) para apps nativas.
4. Concurrencia limitada (GIL)El Global Interpreter Lock impide usar varios hilos de CPU simultáneamente en un mismo proceso.Usar multiprocesamiento o entornos asíncronos (asyncio).
5. Dependencia del intérpretePara ejecutar un programa Python se necesita el intérprete instalado, lo que dificulta la distribución.Usar PyInstaller o cx_Freeze para crear ejecutables.

🧩 En resumen

  • Python gana en rapidez de desarrollo, claridad, productividad y comunidad.
  • Java domina en entornos empresariales y móviles por su robustez.
  • C++ es imbatible en rendimiento y control bajo nivel.
  • JavaScript reina en la web, especialmente en frontend.

Python, en definitiva, es el lenguaje universal del siglo XXI: no siempre el más rápido, pero casi siempre el más eficiente para el desarrollador.


🏁 Conclusión

Python no pretende reemplazar a todos los lenguajes, sino coexistir con ellos. Su objetivo es ser el lenguaje más humano, donde la claridad y la productividad sean prioridad.
Por eso es la elección ideal para aprender, enseñar y crear software con propósito real.

🌍 Parte 5 — Ecosistema y comunidad

Una de las mayores fortalezas de Python no es solo su lenguaje, sino el ecosistema que lo rodea.
Python no está solo: cuenta con miles de herramientas, librerías, frameworks y una comunidad activa que impulsa su crecimiento constante.


🔧 ¿Qué entendemos por “ecosistema” en Python?

El ecosistema Python es el conjunto de recursos, tecnologías y comunidades que facilitan el desarrollo con este lenguaje.
Incluye desde los gestores de paquetes hasta los entornos virtuales y los frameworks más populares.

ComponenteDescripciónEjemplo / Herramienta
Intérprete y versionesEl núcleo del lenguaje. Existen implementaciones diferentes.CPython, PyPy, Jython, MicroPython
Gestor de paquetesPermite instalar librerías y dependencias fácilmente.pip, pipx, Poetry
Repositorio de paquetesAlmacén global de librerías Python.PyPI (Python Package Index)
Entornos virtualesAíslan las dependencias de cada proyecto para evitar conflictos.venv, virtualenv, conda
Frameworks y libreríasExtienden Python hacia áreas específicas de desarrollo.Django, Flask, NumPy, TensorFlow, Pygame…
Herramientas de desarrolloFacilitan la programación, depuración y testing.VS Code, PyCharm, Jupyter, pytest

📦 Instalación y uso de paquetes

Python destaca por su enorme biblioteca de paquetes disponibles en PyPI.
Actualmente existen más de 500.000 librerías públicas que amplían sus capacidades.

Instalar una librería es tan simple como escribir en la terminal:


pip install requests

Y para usarla dentro de tu código:


import requests

respuesta = requests.get("https://api.github.com")
print(respuesta.status_code)

Gracias a esto, crear programas complejos o conectarte a servicios web es cuestión de segundos.


🧰 Entornos virtuales: la base de la organización profesional

Cuando trabajas en múltiples proyectos, es habitual que cada uno necesite versiones distintas de las mismas librerías.
Para evitar conflictos, Python usa los entornos virtuales (carpetas aisladas con sus propias dependencias).

Crearlos es muy sencillo:


# Crear un entorno virtual
python3 -m venv entorno

# Activarlo (Linux/Mac)
source entorno/bin/activate

# Activarlo (Windows)
entorno\Scripts\activate

Dentro de este entorno, cualquier paquete instalado con pip será exclusivo para ese proyecto.
Esto te da control, estabilidad y profesionalidad en tus desarrollos.


🧱 Frameworks más importantes por área

Python se expande en todos los ámbitos gracias a frameworks especializados:

ÁreaFrameworks / LibreríasUso principal
Desarrollo WebDjango, Flask, FastAPIBackends, APIs, sitios dinámicos
Ciencia de DatosPandas, NumPy, Matplotlib, SeabornAnálisis, estadísticas, visualización
Machine LearningTensorFlow, PyTorch, scikit-learnModelos predictivos e inteligencia artificial
Automatización y DevOpsParamiko, Fabric, Ansible, SeleniumScripts, despliegues, testing
VideojuegosPygame, Panda3DCreación de juegos 2D/3D
Aplicaciones de escritorioTkinter, PyQt, KivyInterfaces gráficas (GUI)

🤝 Comunidad Python: el alma del lenguaje

Python es más que código: es una comunidad mundial comprometida con la educación, la colaboración y la accesibilidad.
Su lema no oficial es “Python es para todos”.

El ambiente de la comunidad Python es colaborativo y abierto.
Cualquiera puede crear un paquete, colaborar en proyectos o aportar a la documentación.


🎓 Ejemplo: subir tu propia librería a PyPI

Si algún día desarrollas una herramienta útil y quieres compartirla con el mundo, puedes publicarla en PyPI.
El proceso es simple y profesional:


# Instalar herramientas necesarias
pip install build twine

# Empaquetar tu proyecto
python -m build

# Subirlo a PyPI
twine upload dist/*

Esto convierte tu proyecto en un paquete instalable por cualquiera mediante pip install nombre_paquete.
Así funciona el espíritu de Python: crear, compartir y mejorar en comunidad.


🏁 Conclusión

El ecosistema de Python es uno de los más vivos y sólidos del mundo tecnológico.
No se trata solo de un lenguaje, sino de una red de conocimiento colectivo que crece día a día gracias a su comunidad global.

Un buen desarrollador Python no solo escribe código, sino que participa en su ecosistema: contribuye, colabora y ayuda a otros.
Ahí está la verdadera fuerza de Python.

🧾 Parte 6 — Resumen y ejercicios prácticos

Hemos recorrido la base teórica y práctica del mundo Python: su historia, filosofía, ventajas, comparativas y ecosistema.
Ahora toca consolidar el aprendizaje con un repaso general y algunos ejercicios básicos para practicar lo aprendido.


🧩 Resumen general de la lección

En esta unidad aprendiste:

TemaDescripción
Historia de PythonCreado por Guido van Rossum en 1991, diseñado para ser legible, simple y potente. Su nombre proviene del grupo cómico “Monty Python”.
Filosofía y principiosEl “Zen de Python” promueve claridad, simplicidad y legibilidad: “Simple es mejor que complejo” y “La legibilidad cuenta”.
VentajasLenguaje multiplataforma, sintaxis clara, comunidad activa, ecosistema inmenso y enorme productividad.
DesventajasMenor velocidad que C++ o Java, dependencia del intérprete y limitaciones de concurrencia (GIL).
AplicacionesDesarrollo web, IA, automatización, ciencia de datos, ciberseguridad, videojuegos, entre otros.
Ecosistema y comunidadGran red de librerías (PyPI), frameworks (Django, Flask, Pandas, TensorFlow…) y foros colaborativos globales.

💡 Ideas clave para recordar

  • Python es un lenguaje interpretado y de tipado dinámico.
  • Usa indentación para estructurar bloques, no llaves.
  • Todo en Python es un objeto.
  • Su lema: “Fácil de aprender, poderoso para usar.”
  • El éxito de Python se debe tanto a su simplicidad como a su comunidad.

🧠 Ejercicios prácticos

A continuación, algunos ejercicios guiados para que pongas en práctica los conceptos vistos.

Ejercicio 1 — Tu primer script en Python

Crea un archivo llamado hola.py con el siguiente contenido:


# Ejercicio 1: Primer script
print("¡Hola, mundo! Estoy aprendiendo Python.")

Guárdalo y ejecútalo en la terminal con:


python3 hola.py

Este simple paso te introduce al flujo de trabajo básico en Python.


Ejercicio 2 — Interacción con el usuario

Haz un programa que pida el nombre del usuario y lo salude:


# Ejercicio 2: Interacción básica
nombre = input("¿Cómo te llamas? ")
print(f"Encantado de conocerte, {nombre}. ¡Bienvenido a Python!")

➡️ Objetivo: comprender la función input() y el formato de cadenas con f-strings.


Ejercicio 3 — Uso de variables y tipos

Experimenta con distintos tipos de datos:


# Ejercicio 3: Tipos de datos y operaciones
edad = 25
nombre = "Lucía"
pi = 3.1416
es_estudiante = True

print(type(edad))
print(type(nombre))
print(type(pi))
print(type(es_estudiante))

➡️ Objetivo: entender cómo Python maneja los tipos de datos automáticamente.


Ejercicio 4 — Listas e impresión estructurada

Crea una lista de tus lenguajes favoritos y muéstrala:


# Ejercicio 4: Listas básicas
lenguajes = ["Python", "Java", "C++", "JavaScript"]
print("Lenguajes de programación:", lenguajes)

Luego agrega uno nuevo:


lenguajes.append("Go")
print("Lista actualizada:", lenguajes)

Ejercicio 5 — Comparativa práctica

Ejecuta los siguientes códigos y observa las diferencias:


# Python
for i in range(1, 6):
    print("Número:", i)

// Java
for (int i = 1; i <= 5; i++) {
    System.out.println("Número: " + i);
}

➡️ Reflexiona: ¿Por qué Python parece más sencillo de leer?
Esa es una de las claves de su éxito.


🧮 Tabla de comparación rápida

CaracterísticaPythonOtros lenguajes
TipoInterpretado, dinámicoCompilado, estático (C, Java)
LegibilidadAltaVariable
Uso educativoExcelenteModerado
Velocidad de ejecuciónMediaAlta (C/C++)
ProductividadMuy altaMedia

📚 Ejercicio final — Mini proyecto: Calculadora básica

Combina todo lo aprendido creando un pequeño programa interactivo:


# Calculadora básica
print("=== Calculadora en Python ===")

a = float(input("Introduce el primer número: "))
b = float(input("Introduce el segundo número: "))

print("Suma:", a + b)
print("Resta:", a - b)
print("Multiplicación:", a * b)
print("División:", a / b)

➡️ Objetivo: practicar entrada de datos, operadores y salida de información.


🏁 Conclusión general

Has completado la Lección 1.1 — Introducción a Python.
Ahora ya comprendes por qué Python es el lenguaje más amado por principiantes y expertos:
porque combina simplicidad, elegancia y potencia.

🎯 En la siguiente unidad aprenderás a instalar y configurar tu entorno Python, ejecutar scripts, usar IDLE, VS Code y preparar el terreno para desarrollar tus primeros programas reales.

Recuerda: no busques escribir código perfecto. Escribe código que funcione y mejóralo paso a paso.

Nuestra puntuación
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)
Archivos de ejercicios
Prueba python.pdf
Tamaño: 36,09 KB
Scroll al inicio