Python: vérification des instance avec la fonction isinstance

Author:


{filelink=16894}

class A:
    pass
 
class B:
    pass
 
class C(A):
    pass
 
class D(A, B):
    pass
 
# Evaluer l'objet passé en paramètre
def evaluer(object):
    print object, "=>",
    if isinstance(object, A):
        print "A",
    if isinstance(object, B):
        print "B",
    if isinstance(object, C):
        print "C",
    if isinstance(object, D):
        print "D",
    print
 
a = A()
b = B()
c = C()
d = D()
 
evaluer(a)
evaluer(b)
evaluer(c)
evaluer(d)
evaluer("string")
 
"""
<__main__.A instance at 1> => A
<__main__.B instance at 2> => B
<__main__.C instance at 3> => A C
<__main__.D instance at 4> => A B D
string =>
"""