Función incorporada Python isinstance()
De la documentación de Python 3
Devuelve True si el argumento object es una instancia del argumento classinfo, o de una subclase (directa, indirecta o virtual) del mismo. Si object no es un objeto del tipo dado, la función siempre devuelve False. Si classinfo es una tupla de objetos de tipo (o recursivamente, otras tuplas de este tipo) o un Tipo Union de múltiples tipos, devuelve True si object es una instancia de cualquiera de los tipos. Si classinfo no es un tipo o una tupla de tipos y tales tuplas, se genera una excepción TypeError.
Introducción
La función isinstance() comprueba si un objeto es una instancia de una clase en particular o una subclase de la misma. Devuelve True si el objeto es del tipo especificado y False en caso contrario.
También puedes comprobar contra una tupla de tipos.
Ejemplos
Comprobación del tipo de un objeto:
my_list = [1, 2, 3]
print(isinstance(my_list, list))
print(isinstance(my_list, tuple))
True
False
Comprobación contra múltiples tipos:
print(isinstance("hello", (int, str, list)))
True
isinstance(1, int)
isinstance(1, str)
True
False