Vraag Hoe te controleren of variabele een specifieke klasse in python is?


Ik heb een variabele "myvar" die als ik het afdruk type(myvar) 

de uitvoer is:

<class 'my.object.kind'>

Als ik een lijst van 10 variabelen inclusief strings en variabelen van dat type heb .. hoe kan ik een if-statement construeren om te controleren of een object in de lijst "mijn lijst" van is <type 'my.object.kind'>?


11
2017-08-08 04:06


oorsprong


antwoorden:


Gebruik isinstance, dit zal true teruggeven, zelfs als het een instantie van de subklasse is:

if isinstance(x, my.object.kind)

Of:

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

Als je alles in de lijst wilt testen:

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

14
2017-08-08 04:08



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

0
2017-08-08 04:10



Proberen

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

0
2017-08-08 04:11