0
我正在尝试使用函数注释,希望我的编辑器能够更好地进行重构。然而,我正在绊倒以下问题:抽象类的子类的函数注释
我有一个抽象基类算法。
class Algorithm(metaclass=ABCMeta):
def __init__(self):
self.foo = 'bar'
我也有使用算法
def get_foo(foo_algorithm):
return foo_algoritm.foo
输入foo_algorithm的子类的实例可以是任何算法的子类的实例的功能。我如何明智地注释这个输入?我正在寻找一些线路:
def get_foo(foo_algorithm: subclassof(Algorithm)):
return foo_algoritm.foo
但我找不到正确的方法来做到这一点。
你的问题有点不清楚。你说的就好像你的'get_foo'接受'Algorithm'的*子类*,而不是'Algorithm'子类的*实例*。您的代码另有说明;在'__init__'方法中设置'.foo',所以必须是一个实例属性。它不会出现在类对象上。 –
好点,编辑。它确实是我正在使用的实例化的子类。 – Skirrebattie
好吧,我现在已经覆盖了任何一种方式。 –