Halbgenerische Rückgabe
Verfasst: Donnerstag 26. Juli 2018, 12:40
Hallo,
ich versuche gerade, folgenden Code umzusetzen:
Das Ziel soll sein, dass ich hier einen Typ als Parameter übergeben kann und auch nur Objekte dieses Typs in der Liste bekommen will. Als "Gegenleistung" hierfür soll die zurückgegebene List dann eben schon passend typisiert sein.
Der Code funktioniert auch so weit, aber PyCharm beschwert sich, weil isinstance nicht für generische Typen verwendet werden kann. Sehe ich es richtig, dass die Fehlermeldung hier einfach ungeschickt ist? Oder habe ich einen Denkfehler?
Vielen Dank.
ich versuche gerade, folgenden Code umzusetzen:
Code: Alles auswählen
Q = TypeVar("Q")
...
@classmethod
def query_of(cls, t: Type[Q], **kwargs) -> List[Q]:
objects: List[Q] = []
for o in cls.query(**kwargs):
if not isinstance(o,t):
continue
objects.append(o)
return objects
Der Code funktioniert auch so weit, aber PyCharm beschwert sich, weil isinstance nicht für generische Typen verwendet werden kann. Sehe ich es richtig, dass die Fehlermeldung hier einfach ungeschickt ist? Oder habe ich einen Denkfehler?
Vielen Dank.