- 1

Python intermedio: prácticas profesionales con app de noticias e IA
01:17 - 2

Configuración de PEP 8 y formateo automático con Ruff en Python
08:06 - 3

Sintaxis de list, dict y set comprehensions en Python
10:38 - 4

Comprensiones anidadas para agrupar y filtrar datos en Python
11:48 - 5

Formateo de strings con f-strings en Python
08:13 - 6

Modificadores de formato avanzados en FStrings para números y fechas
09:48 quiz de Código Pythónico y Funcional
Argumentos dinámicos *args en funciones Python
Clase 7 de 25 • Curso de Python: Entornos virtuales, PEP8 y Manejo de Errores
Contenido del curso
- 11

Uso del bloque finally para liberar recursos en Python
06:00 - 12

Creación de excepciones personalizadas en Python
07:39 - 13

Anotaciones de tipo con type hints en Python
07:01 - 14

Tipado de funciones y estructuras de datos en Python
06:32 - 15

Documentación en Python con docstrings y PEP 257
10:14 quiz de Manejo de Datos y Recursos
- 19

Gestión moderna de dependencias Python con UV y pyproject
07:17 - 20

Modularización de código Python con responsabilidad única
07:14 - 21

Paquetes Python: de estructura plana a código modular
09:06 - 22

Función enumerate en Python para indexar listas automáticamente
09:31 - 23

Filtrado de listas con filter en Python
11:44 - 24

Función map para calcular tiempo de lectura en Python
08:59 - 25

Conexión de OpenAI API con variables de entorno en Python
11:17
Domina los argumentos dinámicos con args en Python para crear funciones más flexibles, especialmente al integrar múltiples APIs de noticias con parámetros variables como query, section o from_date. Aquí verás cómo capturar argumentos posicionales, por qué el orden importa y cómo declarar parámetros obligatorios como la API key.
¿Qué son los argumentos dinámicos args en Python?
Los argumentos dinámicos permiten recibir un número variable de parámetros posicionales. En Python se definen con un asterisco y el nombre convencional args. Internamente, args es una tupla: inmutable, ordenada y accesible por índice.
- Se definen con un asterisco antes del nombre del parámetro.
- Se almacenan como tupla inmutable.
- El orden de los argumentos posicionales es crucial.
¿Cómo se usan args con ejemplos de código?
def ejemplo_args(*args):
print(f"args: {args}")
print(f"type: {type(args)}")
# Llamadas de ejemplo
Ejemplo = ejemplo_args
Ejemplo(1, 2, 3)
Ejemplo("Hola", "mundo")
Ejemplo() # sin parámetros
- La impresión muestra la representación de una tupla.
- El tipo reportado es tuple.
¿Cómo aplicar args en un client de noticias?
Cuando integras varias APIs con requisitos distintos, args ayuda a unificar llamadas mientras mantienes API key como parámetro obligatorio. Se mostraron dos variantes: un client para News API y otro para Guardian, cada uno con parámetros distintos como query, section o from_date, y configuraciones como timeout en 30 y retries en 3.
def news_api_client(api_key, query, timeout=30, retries=3):
return f"News API: query={query}, timeout={timeout}"
def guardian_client(api_key, section, from_date, timeout=30, retries=3):
print(f"Guardian: section={section}")
print(f"From_date={from_date}")
print(f"Timeout={timeout}")
# retries sin usar
- News API usa query y puede fijar timeout 30 y retries 3.
- Guardian requiere section y from_date además de la API key.
Para generalizar con parámetro obligatorio y resto dinámico:
def client_dinamico(api_key_value, *args):
print(f"API key: {api_key_value}")
print(f"args: {args}")
# Llamadas
client_dinamico("mi_api_key", "q=python", 30)
client_dinamico("mi_api_key")
# client_dinamico() # error: falta el argumento posicional obligatorio api_key_value
- API key primero: asegura el parámetro obligatorio.
- args captura valores extra como query, timeout o banderas.
¿Por qué el orden posicional importa en args?
- Python asigna por posición: el primer valor va al primer parámetro.
- Si colocas el parámetro obligatorio después de args, Python no distingue dónde terminan los dinámicos.
- Para evitar ambigüedad, pon API key antes y el resto en args.
¿Qué prácticas y ejercicio refuerzan el uso de args?
A la hora de validar y usar args en funciones reales:
- Define parámetros obligatorios como la API key al inicio.
- Usa timeout 30 y retries 3 como valores por defecto cuando apliquen.
- Imprime separadores y tipos para depurar rápidamente.
- Considera validaciones si ciertos argumentos son requeridos por la API.
Ejercicio propuesto: crear una función que sume todos los números recibidos por args.
def sumar_todos(*args):
return sum(args)
# Ejemplos
print(sumar_todos(1, 2, 3)) # 6
print(sumar_todos(10, 20, 30, 40)) # 100
¿Tienes una variante con validaciones o un client dinámico que uses a diario? Compártelo en comentarios y cuéntanos tu enfoque.