Типизация Python для универсального декоратора метода экземпляраPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Типизация Python для универсального декоратора метода экземпляра

Сообщение Anonymous »

Я создаю универсальный декоратор для метода экземпляра:

Код: Выделить всё

def my_dec(func):
def wrapper(self, *args, **kwargs):
print("do something")
return func(self, *args, **kwargs)
return wrapper
Все работает нормально, кроме набора текста. Когда я печатаю это следующим образом:

Код: Выделить всё

def my_dec(
func: Callable[[*Tuple[Any, ...]], Any]
) -> Callable[[*Tuple[Any, ...]], Any]:
def wrapper(
self: Any,
*args: Any,
**kwargs: Any
) -> Any:
print("do something")
return func(self, *args, **kwargs)
return wrapper
Когда я использую декоратор, я получаю ошибки от mypy, такие как:

Код: Выделить всё

 Argument 1 to "my_dec" has incompatible type
"Callable[[datetime, datetime | str, str | NoInput], float | None]";
expected  "Callable[[VarArg(Any)], Any]"  [arg-type]
Разве это не должно быть разрешено с набором Any? Что делать, чтобы исправить?
Очевидно, что это не может быть связано с конкретной функцией, декоратор применяется ко многим различным функциям.

Подробнее здесь: https://stackoverflow.com/questions/793 ... -decorator
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Типизация Python для универсального декоратора метода экземпляра
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Типизация Python 3.9+. Коллекция, кортеж и типизация. Итерируемый
    Anonymous » » в форуме Python
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Когда использовать фабрику декоратора и декоратора?
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Когда использовать фабрику декоратора и декоратора?
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Как управлять классом универсального шаблона, наследующим от другого универсального класса в Python
    Anonymous » » в форуме Python
    0 Ответы
    32 Просмотры
    Последнее сообщение Anonymous

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