Sobes.tech
Junior — Middle

Pouvez-vous expliquer ce que l'on entend par introspection en programmation?

sobes.tech IA

Réponse de l'IA

L'introspection en programmation est la capacité d'un programme à examiner sa propre structure lors de l'exécution. En Python, cela signifie la possibilité d'obtenir dynamiquement des informations sur les types d'objets, leurs attributs, méthodes et autres caractéristiques.

Par exemple, avec des fonctions comme type(), dir(), getattr(), on peut savoir quels méthodes sont disponibles pour un objet, ou les appeler dynamiquement.

Exemple d'introspection:

class MyClass:
    def method(self):
        pass

obj = MyClass()

print(type(obj))          # <class '__main__.MyClass'>
print(dir(obj))           # liste des attributs et méthodes
print(hasattr(obj, 'method'))  # True
method = getattr(obj, 'method')
method()  # appel dynamique de la méthode

L'introspection est utile pour écrire un code flexible et dynamique, par exemple dans des frameworks, des tests ou lors de la sérialisation d'objets.