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.