Volver a la página principal
jueves 6 febrero 2025
3

Cómo inspeccionar firmas de funciones en Python con inspect.signature

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.

Sintaxis y parámetros

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).

Ejemplos de uso

Ejemplo 1: Obtener la firma de una función simple

import inspect

def suma(a, b=10):
    return a + b

firma = inspect.signature(suma)
print(firma)  # Salida: (a, b=10)

Ejemplo 2: Inspeccionar parámetros y sus detalles

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

Ejemplo 3: Usar 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

Referencia oficial

Para más detalles sobre inspect.signature, consulta la documentación oficial de Python.

Etiquetas:
python
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer