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.