Я пытался понять, как я могу указать тип возврата метода класса в Python, чтобы он правильно интерпретировался (например, в моей документации по Sphinx) даже для дочерних классов.
Предположим, у меня было:
class Parent:
@classmethod
def a_class_method(cls) -> 'Parent':
return cls()
class Child(Parent):
pass
Что я должен указать в качестве типа возврата a_class_method
, если я хочу, чтобы оно было Parent
для родителя и Child
для ребенка? Я также попробовал __qualname__
, но это тоже не сработало. Разве я не должен аннотировать тип возврата?
Заранее спасибо!