Предположим, у меня есть класс Mixin Mixin
, а метод a
в этом классе использует другой метод.
b
, который будет в другом Base
классе. Я хочу аннотировать b
в классе Mixin
, чтобы я мог воспользоваться преимуществами проверки.
Реальное использование - множественное наследование. Я создаю миксин для tornado.web.RequestHandler
, и подкласс может наследовать RequestHandler
и Mixin
, чтобы получить некоторые полезные функции.
Насколько я знаю, я могу аннотировать b
как Callable
, но я не могу комментировать его подпись.
class Base
def b():
# do something
class Mixin:
b: Callable # not enough, losing signature.
#b: RequestHandler.b # not work, still losing signature.
def a():
# call b here.
class subclass(Base, Mixin):
pass
Кстати, я использую Pycharm.