Função built-in Python isinstance()

Da documentação do Python 3

Retorna True se o argumento object for uma instância da classe classinfo, ou de uma subclasse (direta, indireta ou virtual) desta. Se object não for um objeto do tipo fornecido, a função sempre retorna False. Se classinfo for uma tupla de objetos de tipo (ou recursivamente, outras tuplas desse tipo) ou um Tipo Union de múltiplos tipos, retorna True se object for uma instância de qualquer um dos tipos. Se classinfo não for um tipo ou tupla de tipos e tais tuplas, uma exceção TypeError é levantada.

Introdução

A função isinstance() verifica se um objeto é uma instância de uma classe particular ou de uma subclasse dela. Retorna True se o objeto for do tipo especificado e False caso contrário.

Você também pode verificar contra uma tupla de tipos.

Exemplos

Verificando o tipo de um objeto:

my_list = [1, 2, 3]
print(isinstance(my_list, list))
print(isinstance(my_list, tuple))
True
False

Verificando contra múltiplos tipos:

print(isinstance("hello", (int, str, list)))
True
isinstance(1, int)
isinstance(1, str)
True
False