inspect.signature
es una función del módulo inspect
que permite obtener la firma de una función o método en Python. La firma incluye detalles como los nombres de los parámetros, sus valores predeterminados, anotaciones de tipo y si son posicionales, de palabra clave o variables. Es especialmente útil para entender cómo se debe llamar una función.
Parámetro | Tipo | Descripción |
---|---|---|
callable
|
Callable | Función, método o cualquier objeto invocable del cual se desea obtener la firma. |
follow_wrapped
|
Booleano |
Si es True , sigue las cadenas de decoradores (por defecto es True ).
|
import inspect
def suma(a, b=10):
return a + b
firma = inspect.signature(suma)
print(firma) # Salida: (a, b=10)
for nombre, param in inspect.signature(suma).parameters.items():
print(f"Nombre: {nombre}, Valor predeterminado: {param.default}, Tipo: {param.kind}")
Salida:
Nombre: a, Valor predeterminado: <class 'inspect.Parameter.empty'>, Tipo: POSITIONAL_OR_KEYWORD
Nombre: b, Valor predeterminado: 10, Tipo: POSITIONAL_OR_KEYWORD
inspect.signature
con funciones anotadas
def multiplicar(a: int, b: int = 5) -> int:
return a * b
firma = inspect.signature(multiplicar)
print(firma) # Salida: (a: int, b: int = 5) -> int
Para más detalles sobre inspect.signature
, consulta la documentación oficial de Python.
Jorge García
Fullstack developer