相关疑难解决方法(0)

类方法返回实例的MyPy注释

我该如何注释一个@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")
Run Code Online (Sandbox Code Playgroud)

这会返回一个Foo但更准确地返回Foo调用此子类的任何子类,因此使用注释-> "Foo"不够好.

python mypy

12
推荐指数
3
解决办法
3151
查看次数

标签 统计

mypy ×1

python ×1