CURSO INTENSIVO DE PYTHON PARA PRINCIPIANTES EN 2026
Introducción al Mundo de Python en la Era Actual
Python se ha consolidado como uno de los lenguajes de programación más populares y versátiles en el mundo de la tecnología. En enero de 2026, la versión estable más reciente es Python 3.14, lanzada a finales de 2025, que incorpora mejoras significativas en rendimiento, seguridad y soporte para subprocesos libres. Este lenguaje destaca por su sintaxis clara y legible, lo que facilita el aprendizaje y el mantenimiento de código en proyectos de cualquier escala.
La comunidad de desarrolladores valora Python por su amplia aplicación en áreas como desarrollo web, análisis de datos, inteligencia artificial, automatización y scripting. Su ecosistema rico en bibliotecas permite resolver problemas complejos con pocas líneas de código. En este tutorial, exploraremos los conceptos esenciales para comenzar a programar en Python, adaptados al contexto tecnológico actual.
Instalar Python es el primer paso. Visita el sitio oficial python.org y descarga la versión 3.14 para tu sistema operativo. Durante la instalación, asegúrate de marcar la opción para agregar Python al PATH del sistema, lo que permite ejecutarlo desde cualquier terminal.
Una vez instalado, verifica la versión abriendo una terminal y escribiendo:
python --version
La salida debería mostrar algo similar a:
Python 3.14.2
Esto confirma que la instalación fue exitosa y estás listo para comenzar.
Variables y Tipos de Datos Básicos
Las variables en Python actúan como contenedores para almacenar datos. No es necesario declarar el tipo explícitamente; Python lo infiere automáticamente. Esta característica hace que el lenguaje sea dinámico y flexible.
Para asignar un valor a una variable, utiliza el operador =.
nombre = "Arturo"
edad = 30
altura = 1.75
es_desarrollador = True
Aquí, nombre es una cadena de texto (str), edad un entero (int), altura un flotante (float) y es_desarrollador un booleano (bool).
Los tipos de datos principales incluyen enteros, flotantes, cadenas y booleanos. Las cadenas se definen con comillas simples o dobles.
saludo = 'Hola mundo'
mensaje = "Bienvenido a Python"
Para concatenar cadenas, usa el operador + o f-strings, que son más legibles.
nombre = "Ana"
print(f"Hola, {nombre}. Bienvenido al mundo de la **programación en Python**.")
La salida será:
Hola, Ana. Bienvenido al mundo de la programación en Python.
Las f-strings, introducidas en Python 3.6 y optimizadas en versiones posteriores, permiten insertar variables directamente en el texto.
Operadores Aritméticos y de Comparación
Python ofrece una variedad de operadores para realizar cálculos y comparaciones. Los aritméticos incluyen suma (+), resta (-), multiplicación (*), división (/), división entera (//), módulo (%) y potencia (**).
a = 10
b = 3
suma = a + b
division = a / b
potencia = a ** b
print(suma) # 13
print(division) # 3.3333333333333335
print(potencia) # 1000
Los operadores de comparación devuelven valores booleanos: == (igual), != (diferente), >, <, >=, <=.
x = 5
y = 10
print(x > y) # False
print(x != y) # True
Los operadores lógicos combinan condiciones: and, or, not.
edad = 25
tiene_experiencia = False
puede_aplicar = edad > 18 and tiene_experiencia
print(puede_aplicar) # False
Estos operadores son fundamentales en la toma de decisiones dentro de los programas.
Estructuras de Control de Flujo
Las estructuras de control permiten ejecutar código condicionalmente o en bucles. La instrucción if evalúa una condición.
temperatura = 30
if temperatura > 25:
print("Hace calor")
elif temperatura < 10:
print("Hace frío")
else:
print("Temperatura agradable")
La indentación define los bloques de código, un aspecto clave de la sintaxis de Python que promueve la legibilidad.
Para repetir acciones, utiliza bucles while o for.
El bucle while se ejecuta mientras una condición sea verdadera.
contador = 0
while contador < 5:
print(contador)
contador += 1
La salida será:
0
1
2
3
4
El bucle for es ideal para iterar sobre secuencias.
frutas = ["manzana", "banana", "cereza"]
for fruta in frutas:
print(fruta)
Esto imprime cada elemento de la lista.
Listas y Operaciones con Ellas
Las listas son colecciones ordenadas y mutables de elementos. Se definen con corchetes.
numeros = [1, 2, 3, 4, 5]
mezclada = [1, "texto", True, 3.14]
Accede a elementos por índice, comenzando en 0.
print(numeros[0]) # 1
print(numeros[-1]) # 5 (último elemento)
Modifica elementos directamente.
numeros[2] = 10
print(numeros) # [1, 2, 10, 4, 5]
Métodos comunes incluyen append() para agregar, pop() para eliminar, sort() para ordenar.
numeros.append(6)
numeros.pop(0)
numeros.sort(reverse=True)
print(numeros)
Las listas admiten slicing para obtener sublistas.
sub = numeros[1:4]
print(sub)
Esto es útil para manipular grandes conjuntos de datos en aplicaciones modernas.
Tuplas y Sus Características
Las tuplas son similares a las listas, pero inmutables. Se definen con paréntesis.
coordenadas = (10.5, 20.3)
colores = ("rojo", "verde", "azul")
Intentar modificar una tupla genera un error, lo que las hace ideales para datos constantes.
# coordenadas[0] = 15 # Error
Las tuplas son más eficientes en memoria y se usan frecuentemente como claves en diccionarios.
Diccionarios para Almacenar Pares Clave-Valor
Los diccionarios almacenan datos en pares clave-valor, permitiendo acceso rápido por clave.
persona = {
"nombre": "Carlos",
"edad": 35,
"ciudad": "Madrid",
"habilidades": ["Python", "JavaScript"]
}
Accede a valores por clave.
print(persona["nombre"]) # Carlos
Agrega o modifica entradas fácilmente.
persona["profesion"] = "desarrollador"
persona["edad"] = 36
Itera sobre claves, valores o items.
for clave, valor in persona.items():
print(f"{clave}: {valor}")
Los diccionarios son esenciales en el manejo de datos estructurados, como respuestas de APIs en proyectos web actuales.
Funciones y Modularidad en el Código
Las funciones permiten encapsular código reutilizable. Se definen con def.
def saludar(nombre):
return f"Hola, {nombre}"
mensaje = saludar("Laura")
print(mensaje) # Hola, Laura
Pueden tener parámetros por defecto.
def potencia(base, exponente=2):
return base ** exponente
print(potencia(5)) # 25
print(potencia(5, 3)) # 125
Las funciones lambda son anónimas y útiles para operaciones simples.
cuadrado = lambda x: x ** x
print(cuadrado(4)) # 256
En versiones recientes de Python, se han mejorado las anotaciones de tipos para funciones, promoviendo código más robusto.
def sumar(a: int, b: int) -> int:
return a + b
Esto facilita la integración con herramientas de análisis estático.
Manejo de Excepciones y Errores
El manejo de errores evita que el programa se detenga inesperadamente. Usa try-except.
try:
resultado = 10 / 0
except ZeroDivisionError:
print("No se puede dividir por cero")
finally:
print("Operación finalizada")
Puedes capturar múltiples excepciones.
try:
numero = int("abc")
except ValueError:
print("Conversión inválida")
except Exception as e:
print(f"Error inesperado: {e}")
El bloque else se ejecuta si no hay errores.
Este mecanismo es crucial en aplicaciones reales donde los datos de entrada pueden variar.
Trabajo con Archivos
Python facilita la lectura y escritura de archivos.
Para leer un archivo de texto:
with open("ejemplo.txt", "r", encoding="utf-8") as archivo:
contenido = archivo.read()
print(contenido)
El contexto with asegura que el archivo se cierre correctamente.
Para escribir:
with open("salida.txt", "w", encoding="utf-8") as archivo:
archivo.write("Hola desde Python 3.14\n")
archivo.write("Línea adicional")
En entornos modernos, se recomienda especificar la codificación UTF-8 para compatibilidad internacional.
Módulos y Paquetes
Los módulos organizan código en archivos separados. Importa con import.
import math
print(math.sqrt(16)) # 4.0
print(math.pi) # 3.141592653589793
Crea tu propio módulo guardando funciones en un archivo .py y importándolo.
La biblioteca estándar incluye módulos como os, sys, datetime.
import datetime
ahora = datetime.datetime.now()
print(ahora) # Fecha y hora actual
Paquetes externos se instalan con pip, el gestor de paquetes de Python, que ha visto mejoras en velocidad en versiones recientes.
Conceptos Avanzados Básicos
Las comprensiones de listas permiten crear listas de forma concisa.
cuadrados = [x**2 for x in range(10) if x % 2 == 0]
print(cuadrados) # [0, 4, 16, 36, 64]
Son eficientes y legibles una vez dominadas.
Los generadores usan yield para producir valores bajo demanda, ahorrando memoria.
def generador_pares(n):
for i in range(n):
if i % 2 == 0:
yield i
for par in generador_pares(10):
print(par)
Esto es útil en procesamiento de grandes volúmenes de datos.
Programación Orientada a Objetos
Python soporta programación orientada a objetos. Define clases con class.
class Vehiculo:
def __init__(self, marca, modelo):
self.marca = marca
self.modelo = modelo
def descripcion(self):
return f"{self.marca} {self.modelo}"
coche = Vehiculo("Tesla", "Model 3")
print(coche.descripcion())
Herencia permite extender clases.
class Electrico(Vehiculo):
def __init__(self, marca, modelo, bateria):
super().__init__(marca, modelo)
self.bateria = bateria
def descripcion(self):
return super().descripcion() + f" con batería de {self.bateria} kWh"
ev = Electrico("Tesla", "Model Y", 75)
print(ev.descripcion())
La POO es fundamental en frameworks como Django o Flask para desarrollo web.
Interacción con APIs y Datos Externos
Python excelsa en consumo de APIs REST. Usa la biblioteca requests, instalable con pip.
import requests
respuesta = requests.get("https://api.example.com/data")
if respuesta.status_code == 200:
datos = respuesta.json()
print(datos)
Maneja errores de red con excepciones.
En el contexto actual, donde las APIs RESTful modernas dominan la integración de servicios, esta capacidad hace de Python una herramienta poderosa para desarrolladores backend y full-stack.
Buenas Prácticas y Estilo de Código
Sigue PEP 8 para estilo consistente. Usa herramientas como black para formateo automático.
Comenta código con # y docstrings para funciones.
def factorial(n: int) -> int:
"""Calcula el factorial de n.
Args:
n: Entero no negativo.
Returns:
Factorial de n.
"""
if n == 0:
return 1
return n * factorial(n - 1)
Las anotaciones de tipo mejoran la mantenibilidad, especialmente en equipos grandes.
Conclusiones
Python continúa evolucionando en 2026 con Python 3.14 como versión estable, ofreciendo mejoras en rendimiento y seguridad que lo posicionan como lenguaje preferido en múltiples dominios tecnológicos. Dominar sus fundamentos, como variables, estructuras de datos, funciones y manejo de errores, proporciona una base sólida para abordar proyectos complejos.
La simplicidad sintáctica combinada con un ecosistema vasto permite a los desarrolladores enfocarse en resolver problemas reales en lugar de lidiar con complejidades innecesarias. Practica consistentemente escribiendo código, explorando bibliotecas y participando en proyectos open source para profundizar en tus habilidades.
Con la práctica de los conceptos expuestos, estarás preparado para avanzar hacia áreas especializadas como ciencia de datos, machine learning o desarrollo web. Python no solo es un lenguaje, sino una herramienta que impulsa innovación en la tecnología contemporánea.