Richtiger Python -Typ, der auf diese Funktion im Jahr 2025 hinweist
Posted: 18 Apr 2025, 02:58
Ich verwende VS -Code mit Pylance und habe Probleme, die Typen für die folgende Funktion korrekt zu schreiben. Für mich scheinen die Semantik klar zu sein, aber Pylance ist anderer Meinung. Wie kann ich das beheben, ohne auf cast () oder # Typ Ignore zurückzugreifen? Pylanzwarnungen sind in den Kommentaren angegeben. < /P>
Ich bin vollständig
Ich bin vollständig
Code: Select all
T = TypeVar("T")
def listify(item: T | list[T] | tuple[T, ...] | None) -> list[T]:
if item is None:
return []
elif isinstance(item, list):
return item # Return type, "List[Unknown]* | List[T@listify]",
# is partially unknown
elif isinstance(item, tuple):
return list(item) # Return type, "List[Unknown]* | List[T@listify]",
# is partially unknown
else:
return [item]