Ich möchte einen Typ oder eine Liste von Typen als Argument an eine Funktion übergeben. Aber innerhalb der Funktion muss ich zwischen dem Typ und der Typenliste unterscheiden. Grob erklärt brauche ich eine Art, wie dies der Verzweigung:Wie überprüft man, ob eine Variable einen Typ oder eine Liste von Typen enthält?
if //someVar is a type//:
....
elif isinstance(someVar, list):
for t in list:
if //t is a type//:
....
else:
print("ERROR")
else
print("ERROR")
Typen können entweder einige „primitiv“ wie int oder str sondern auch als gut Tupel oder Klassen.
Die Frage: Wie kann ich korrekt und effizient zwischen Typen und Typenlisten unterscheiden?
Könnten Sie den weiteren Kontext dessen, was Sie versuchen zu erklären? Haben Sie z.B. 'isinstance' /' issubclass'? – jonrsharpe
müssen Sie explizit nach 'listen' suchen? Auch, was * gilt nicht als Typ für dich? –
Zur Klarstellung: Ich beabsichtige, Typinformationen an eine Typüberprüfungsmethode zu übergeben. Ich möchte dem Benutzer eine Art von Freiheit geben, wie man Typeinschränkungen spezifiziert, die an diese Methode übergeben werden. Daher möchte ich ihm erlauben, entweder einen einzelnen Typ oder eine Liste von Typen (und eventuell einige andere Optionen in der Zukunft) anzugeben. Daher würden die bereitgestellten Informationen in einer einzigen Variablen gespeichert werden. Daher brauche ich eine Art Verzweigung innerhalb des Codes, um korrekt mit den vom Benutzer bereitgestellten Informationen arbeiten zu können. –