Wie in einem Kommentar von AChampion erwähnt, können Sie MutableMapping
verwenden:
class Actor(Enum):
# ...Actor enum menbers...
class Location:
# ...Location class body...
class MapActor2Location(OrderedDict, MutableMapping[Actor, Location]):
pass
Nachtrag für Leute wie mich, die nicht haben zuvor das Modul typing
verwendet: Beachten Sie, dass die Typdefinitionen die Indexierungssyntax ([T]
) ohne Klammern verwenden. Ich versuchte zunächst so etwas wie dieses:
class MyMap(OrderedDict, MutableMapping([KT, VT])): pass
(! Beachten Sie die Fremd Klammern um [KT, VT]
)
Dies gibt, was ich einen ziemlich verwirrend Fehler betrachten:
TypeError: Can't instantiate abstract class MutableMapping with abstract methods __delitem__, __getitem__, __iter__, __len__, __setitem__
Aber wenn ich das tue, wie ist YourDict ein OrderedDict? –
Sie könnten 'typing.MutableMapping' verwenden, wenn Sie einen bestimmten Typ für OrderedDict benötigen, müssten Sie es' class OrderedDictType (OrderedDict, MutableMapping [KT, VT]) ' – AChampion
@AChampion erstellen, das Sie eine Antwort geben sollten – Seanny123