
isinstance(object, classinfo)
и issubclass(class, classinfo)
isinstance проверяет, относится ли объект частью класса classinfo, наследуется от типа напрямую, косвенно или виртуально (вспомните про уток).issubclass делает то же самое, что и isinstance, только с классом.
На место classinfo можно передать кортеж, тогда функции будут проверять, относится ли object/class к одному из типов в classinfo. Также, с версии 3.10, туда можно передавать Union тип.
#объяснение