Как проверить, является ли переменная конкретным классом в python?

У меня есть переменная "myvar", когда я распечатываю ее type(myvar)

вывод:

<class 'my.object.kind'>

Если у меня есть список из 10 переменных, включая строки и переменные такого типа. Как я могу построить оператор if, чтобы проверить, имеет ли объект в списке "mylist" <type 'my.object.kind'>?

Ответ 1

Используйте isinstance, это вернет true, даже если это экземпляр подкласса:

if isinstance(x, my.object.kind)

Или:

type(x) == my.object.kind #3.x

Если вы хотите протестировать все в списке:

if any(isinstance(x, my.object.kind) for x in alist)

Ответ 2

if any(map(lambda x: isinstance(x, my.object.kind), my_list_of_objects)):
    print "Found one!"

Ответ 3

Try

if any([isinstance(x, my.object.kind) for x in mylist]):
    print "found"