如何检查变量是否是python中的特定类?

时间:2013-08-08 04:06:44

标签: python

当我打印出来时,我有一个变量“myvar” type(myvar)

输出是:

<class 'my.object.kind'>

如果我有10个变量的列表,包括字符串和那种变量..如何构造一个if语句来检查列表“mylist”中的对象是否为<type 'my.object.kind'>

3 个答案:

答案 0 :(得分:22)

使用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)

答案 1 :(得分:0)

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

答案 2 :(得分:0)

尝试

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