← retour aux snippets

inspect.signature.bind: valider les appels d'API

Vérifier la cohérence d'arguments avant d'appeler une fonction.

python inspect #inspect#signature#bind

objectif

Vérifier la cohérence d’arguments avant d’appeler une fonction.

code minimal

import inspect
def api(a, b, *, c=0): return a+b+c
sig = inspect.signature(api)
bound = sig.bind(1, 2, c=3)
print(bound.arguments["c"] == 3)  # attendu: True

utilisation

import inspect
def api(x, y): return x+y
try:
    inspect.signature(api).bind(1)  # manque y
    ok = False
except TypeError:
    ok = True
print(ok)

variante(s) utile(s)

import inspect
print(callable(inspect.signature))

notes

  • bind et bind_partial lèvent TypeError si les arguments ne collent pas.
  • Utile pour wrappers/décorateurs/validation avant dispatch.