Sie waren dem Titel Ihrer Frage schon ziemlich nahe. Sie könnten any
und eine Liste verwenden:
var = 7.0
var_is_good = any([isinstance(var, classinfo1),
isinstance(var, classinfo2),
isinstance(var, classinfo3), ...
isinstance(var, classinfoN)])
Aber ein Blick in die Dokumente von isinstance
enthüllt:
Geben Sie true zurück, wenn das Objektargument eine Instanz des classinfo-Arguments oder einer (direkten, indirekten oder virtuellen) Unterklasse davon ist. Wenn object kein Objekt des angegebenen Typs ist, gibt die Funktion immer false zurück. Wenn classinfo keine Klasse ist (Typobjekt), kann es sich um ein Tupel von oder rekursiv andere solche Tupel enthalten (andere Sequenztypen werden nicht akzeptiert). Wenn classinfo kein Typ oder Tupel von Typen und solchen Tupeln ist, wird eine TypeError-Ausnahme ausgelöst.
Dies bedeutet, dass dies der bessere Weg ist
var = 7.0
var_is_good = isinstance(var, (classinfo1,
classinfo2,
classinfo3,
...,
classinfoN))