Resumen de Programación en Python

Jul 31, 2025

Resumen

Esta serie de conferencias introduce la programación con Python, cubriendo conceptos fundamentales como funciones, condicionales, bucles, tipos de datos, entrada/salida de archivos, programación orientada a objetos y bibliotecas esenciales, mientras se avanza hacia la resolución práctica de problemas.

Conceptos Básicos de Python: Funciones, Variables y Sintaxis

  • Python es adecuado para principiantes y no requiere experiencia previa en programación.
  • El código se escribe en editores de texto y se guarda como archivos .py.
  • print() muestra la salida, y input() recoge la entrada del usuario.
  • Las funciones realizan acciones; los argumentos son entradas para las funciones.
  • Las variables almacenan valores, y la asignación usa un solo signo =.
  • Los comentarios comienzan con # y ayudan a documentar el código.
  • La concatenación de cadenas usa +, mientras que , en print() separa argumentos con espacios.
  • Los errores de sintaxis ocurren por símbolos faltantes (por ejemplo, paréntesis).
  • El código Python se ejecuta usando el comando python filename.py en la terminal.

Tipos de Datos y Operaciones

  • Tipos comunes: str (cadenas), int (enteros), float (números decimales), bool (True/False).
  • La conversión de tipos se realiza usando int(), float(), y str().
  • Los operadores aritméticos incluyen +, -, *, / y % (módulo, devuelve el resto).
  • La entrada de input() llega como cadena y debe convertirse para operaciones numéricas.*

Condicionales y Flujo de Control

  • if, elif (else if), y else se usan para lógica ramificada.
  • Operadores de comparación: ==, !=, <, >, <=, >=.
  • Operadores lógicos: and, or, not.
  • La indentación (espacios) y : son necesarias para definir bloques de código tras condicionales.
  • match permite ramificación múltiple tipo switch (Python 3.10+).

Bucles e Iteración

  • Los bucles while se repiten mientras una condición sea verdadera; asegúrese de actualizar la variable del bucle.
  • Los bucles for iteran sobre una secuencia, incluyendo listas y rangos.
  • La función range(n) genera números de 0 a n-1 para bucles.
  • Las listas se definen con [], soportan indexación y pueden iterarse directamente.
  • Los diccionarios (dict) mapean claves a valores y se definen con {}.

Manejo de Errores con Excepciones

  • Los errores durante la ejecución generan excepciones (por ejemplo, ValueError, TypeError).
  • Use try-except para capturar y manejar excepciones de forma elegante.
  • La palabra clave raise crea errores personalizados para condiciones inválidas.

Entrada y Salida de Archivos (File I/O)

  • Use open(filename, mode) para leer ('r') o escribir/agregar ('w'/'a') archivos.
  • Los objetos archivo pueden iterarse por líneas o escribirse usando write().
  • La sentencia with asegura que los archivos se cierren correctamente.
  • Los archivos CSV se manejan con el módulo csv, soportando reader y DictReader.

Bibliotecas y Paquetes de Terceros

  • Importe módulos integrados con import module o funciones con from module import function.
  • Módulos populares incluyen random, statistics y sys.
  • Los paquetes externos se instalan con pip install package (por ejemplo, requests para APIs web).
  • Use bibliotecas para evitar reinventar soluciones comunes.

Pruebas y Depuración

  • Las pruebas unitarias son esenciales para verificar el código automáticamente.
  • La palabra clave assert y frameworks como pytest ayudan a verificar resultados.
  • Las pruebas pueden agruparse en archivos y usar prefijos test_ para su descubrimiento._

Expresiones Regulares y Validación de Datos

  • Las expresiones regulares (regex) definen patrones de búsqueda para validar y extraer texto.
  • El módulo re proporciona funciones como search(), match(), y sub().
  • Los patrones usan símbolos especiales (por ejemplo, ., *, +, [], ^, $, ?) para coincidencias flexibles.*

Programación Orientada a Objetos (POO)

  • Las clases definen plantillas para entidades del mundo real, usando la palabra clave class.
  • Los objetos (instancias) se crean a partir de clases; __init__ configura atributos.
  • Los métodos son funciones dentro de clases; use self para referirse al objeto.
  • Propiedades, getters/setters y decoradores (@property) encapsulan datos.
  • La herencia permite que nuevas clases extiendan las existentes.
  • La sobrecarga de operadores (por ejemplo, __add__) personaliza operadores integrados para clases.

Características Avanzadas de Python

  • Las comprensiones de listas y diccionarios proporcionan formas concisas de generar colecciones.
  • Los generadores usan yield para producir ítems uno a la vez, eficientemente en memoria.
  • Las anotaciones de tipo (variable: type) y el análisis estático (por ejemplo, con mypy) mejoran la fiabilidad del código.
  • Los docstrings (comillas triples) dentro de funciones o clases documentan el uso previsto.

Términos Clave y Definiciones

  • Función — Un bloque nombrado de código reutilizable que realiza una acción.
  • Variable — Una ubicación nombrada usada para almacenar datos.
  • Lista — Una secuencia ordenada y mutable de valores, definida con [].
  • Diccionario — Una colección de pares clave-valor, definida con {}.
  • Excepción — Un error en tiempo de ejecución que puede ser capturado y manejado.
  • Clase — Un plano para crear objetos (instancias) con atributos y métodos.
  • Objeto — Una instancia individual de una clase.
  • Módulo/Biblioteca — Un archivo o paquete que contiene código reutilizable.
  • Expresión Regular (Regex) — Un patrón de búsqueda para coincidir texto.
  • Generador — Una función que produce valores uno a la vez para iteración.
  • Anotación de Tipo — Una anotación que indica el tipo esperado de una variable o argumento de función.
  • Docstring — Una cadena especial al inicio de una función o clase usada para documentación.
  • Prueba Unitaria — Código que verifica automáticamente si las funciones devuelven resultados esperados.

Acciones / Próximos Pasos

  • Practique escribir y probar programas usando funciones, condicionales, bucles y entrada/salida de archivos.
  • Complete conjuntos de problemas o ejercicios sobre cada tema para experiencia práctica.
  • Explore más bibliotecas y módulos de Python relevantes a sus intereses.
  • Revise la documentación de Python, enfocándose en tipos de datos, manejo de errores y POO.
  • Use anotaciones de tipo y docstrings en sus futuros proyectos para claridad y fiabilidad.