我正在寻找使用类型注释声明类方法的正确方法。
from __future__ import annotations
class Foo1:
@classmethod
def create(cls) -> Foo1:
return cls()
class Foo2:
@classmethod
def create(cls) -> cls:
return cls()
在大多数示例中,我都找到了Foo1中使用的方法,但它似乎抵消了类方法的可重用性。 Foo2中使用的方法应该与子类更好地配合。
在类似问题中给出的有关如何注释类方法的答案重复说明了破坏可重用性。这个问题是关于保存它的方法。