1
私はこのようなMutableSequence
から継承するクラスを持っている:mypy: "__getitem__" スーパータイプと互換性がない "シーケンス" の署名
class QqTag(MutableSequence):
def __init__(self):
self._children = []
def __getitem__(self, idx: int) -> 'QqTag':
return self._children[idx]
mypyはそのSignature of "__getitem__" incompatible with supertype "Sequence"
を文句を言います。 Sequence
で
、このメソッドは次のように定義されます
@abstractmethod
def __getitem__(self, index):
raise IndexError
だから、問題は、なぜmypyは私の実装に満足していない何ですか?
だけの推測 - しかし、あなたは、型注釈を削除するとどうなりますか...? –
@JonClements:ただしこれを指定することは可能です。 –
@Martijn yeah ...型の注釈をチェックして、それがベースから制限されていると思っていると、野生の推測でした。結局、 'idx'は' int'などである必要はありません。 –