假设我有一个Mixin类Mixin
,而此类中的方法a
使用了另一个方法
b
,它将在另一个Base
类中。我想在b
类中对Mixin
进行注释,以便可以利用检查的优势。
真正的用法是多重继承。我为tornado.web.RequestHandler
创建了一个mixin,子类可以继承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。