Можно аннотировать его следующим образом:
class X:
def __init__(self, t):
self._t = t
def func(self, other: "X"):
return self._t == other._t
Но, как сказал user2357112, если вы используете его в функции __eq__
, mypy
скажет вам:
a.py:5: error: Argument 1 of "__eq__" incompatible with supertype "object"
a.py:5: note: It is recommended for "__eq__" to work with arbitrary objects, for example:
a.py:5: note: def __eq__(self, other: object) -> bool:
a.py:5: note: if not isinstance(other, X):
a.py:5: note: return NotImplemented
a.py:5: note: return <logic to compare two X instances>