python-3.x 如何在类上注解__add__(双下划线)方法的类型?

vbopmzt1  于 4个月前  发布在  Python
关注(0)|答案(1)|浏览(60)

我试图注解一个类的__add__方法,以便将它的示例添加到一起。但是,我无法指定此方法接受同一类型的另一个示例:

class Foo:
    def __init__(self, v: int) -> None:
        self.v = v
    def __add__(self, other: Foo) -> Foo:
        return Foo(self.v + other.v)

字符串
然而,我似乎得到了一个关于Foo尚未定义的错误,因为它在自己的方法定义中引用了Foo

def __add__(self, other: Foo) -> Foo:
NameError: name 'Foo' is not defined


如何正确地注解它,以便每当有代码试图将此类的示例添加到其他类的示例时,mypy都会警告我?

yzxexxkh

yzxexxkh1#

from __future__ import annotations

字符串

相关问题