**kwargs

Los argumentos con nombre extra se recogen en un diccionario. Léelos con .get(key, default).

Sintaxis

def greet(name, **opts):
return opts.get("title", "bot") + " " + name
  • **opts solo recoge valores con nombre, no posicionales.

Ejemplo

def greet(name, **opts):
    return opts.get("title", "bot") + " " + name

print(greet("Pip"))
print(greet("Pip", title="captain"))

Salida:

bot Pip
captain Pip

Errores comunes

  • Pasar un segundo argumento posicional a una función que solo tiene **opts para extras es un TypeError.

Practícalo