Tytuł pytania był już dość bliski. Możesz użyć any
i listę:
var = 7.0
var_is_good = any([isinstance(var, classinfo1),
isinstance(var, classinfo2),
isinstance(var, classinfo3), ...
isinstance(var, classinfoN)])
Ale patrząc w dokumentach isinstance
ujawnia:
Zwraca wartość true, jeśli argument obiektu jest instancją argumentu classinfo lub jego (bezpośredniej, pośredniej lub wirtualnej) podklasy. Jeśli obiekt nie jest obiektem danego typu, funkcja zawsze zwraca false. Jeśli classinfo nie jest klasą (obiektem typu), może być krotką obiektów typu lub może rekurencyjnie zawierać inne takie krotki (inne typy sekwencji nie są akceptowane). Jeśli classinfo nie jest typem lub krotką typów i takimi krotkami, zgłaszany jest wyjątek TypeError.
Oznacza to, że najlepszym sposobem na to jest
var = 7.0
var_is_good = isinstance(var, (classinfo1,
classinfo2,
classinfo3,
...,
classinfoN))