Функция в Python может получать в качестве аргумента набор функций с разными сигнатурами. Подписи указываются с помощью typing.Callable. Есть ли способ проверить полученную функцию на соответствие спецификации и решить, какая из них действительно была передана в качестве параметра?
Пример:
Option1 = Callable[[int], str]
Option2 = Callable[[str], str]
def somefunc(f: Union[Option1, Option2]):
# I want to check here if f is of type Option1 or Option2
Подробнее здесь: https://stackoverflow.com/questions/723 ... y-callable