我正在尝试注释类的__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
在有代码尝试向其他类的实例添加此类的实例时向我发出警告?