如AChampion的评论中所述,您可以使用MutableMapping
:
class Actor(Enum):
# ...Actor enum menbers...
class Location:
# ...Location class body...
class MapActor2Location(OrderedDict, MutableMapping[Actor, Location]):
pass
对于像我这样以前从未使用过该typing
模块的人的附录:请注意,类型定义使用 括号的索引语法([T]
)。我最初尝试过这样的事情:
class MyMap(OrderedDict, MutableMapping([KT, VT])): pass
(请注意周围的多余括号[KT, VT]
!)
TypeError: Can't instantiate abstract class MutableMapping with abstract methods __delitem__, __getitem__, __iter__, __len__, __setitem__