如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__



