@classmethod
のインスタンスを返すにどのように注釈を付ける必要がありますcls
か? 悪い例を次に示します。
class Foo(object):
def __init__(self, bar: str):
self.bar = bar
@classmethod
def with_stuff_appended(cls, bar: str) -> ???:
return cls(bar + "stuff")
これは を返しますがFoo
、より正確には this のどのサブクラスFoo
が呼び出されても返すため、 で注釈を付けるだけで-> "Foo"
は十分ではありません。