typestar

*args y **kwargs en Python

Funciones variádicas: aceptar cualquier número de argumentos.

def reportar(titulo, *valores, **opciones):
    sep = opciones.get("sep", ", ")
    cuerpo = sep.join(str(v) for v in valores)
    linea = f"{titulo}: {cuerpo}"
    if opciones.get("upper"):
        linea = linea.upper()
    return linea


simple = reportar("temperaturas", 18, 21, 19)
fuerte = reportar("temperaturas", 18, 21, upper=True)

numeros = [3, 1, 4, 1, 5]
expandido = reportar("dígitos", *numeros, sep=" | ")

Cómo funciona

  1. *valores junta los argumentos posicionales extra en una tupla.
  2. **opciones junta los argumentos de palabra clave extra en un dict.
  3. *numeros en la llamada vuelve a esparcir una lista.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
14
Caracteres a escribir
391
Tokens
133
Ritmo de tres estrellas
95 tpm

Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 84 segundos.

Escribe este fragmento

Paso 2 de 6 en Funciones; paso 34 de 72 en Fundamentos del lenguaje.

← Anterior Siguiente →