1
私は、値に上限と下限があることを表現するための汎用クラスを作成しようとしています。mypyと比較可能な型
error: Unsupported left operand type for <= ("T")
どうやら入力モジュールは、(それがlooks likeComparable
を追加すると、将来的に起こるかもしれないが)、私はこれを表現することはできません:
from typing import Any, Optional, TypeVar
T = TypeVar("T")
class Bounded(object):
def __init__(self, minValue: T, maxValue: T) -> None:
assert minValue <= maxValue
self.__minValue = minValue
self.__maxValue = maxValue
はしかし、mypyは、と文句を言い。
オブジェクトには__eq__
と__lt__
のメソッドがあることを確認するだけで十分だと思います(少なくとも私の場合)。現在のところ、Pythonでこの要件を表現する方法はありますか?