Что такое аннотация типа для «любого вызываемого объекта, кроме класса» в Python с использованием Mypy?Python

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Что такое аннотация типа для «любого вызываемого объекта, кроме класса» в Python с использованием Mypy?

Сообщение Гость »


Я пытаюсь идеально ввести аннотацию следующей функции Python:

набрав import Callable, Any импортная проверка def foo(func: Callable[..., Any]) -> Нет: если проверить.isclass(функ): поднять ValueError # Сделай что-нибудь... класс Плохой: проходить защита хорошо() -> Плохо: вернуть Плохо() foo(хорошо) # ОК foo(Плохо) # НОК Я хотел бы сузить тип Callable[..., Any], чтобы он отклонял Bad, передаваемый в качестве аргумента.

Смотрите игровую площадку Mypy здесь.

Я не могу найти ничего ни в модуле types, ни в документации Mypy, чтобы отличить простую функцию от класса. Возможно ли это вообще?

Непонятно, почему type(Bad) и type(good) сильно различаются во время выполнения, но я не могу найти эквивалент для аннотации типа.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»