L'Introspection des objets Python

Dans ce tutoriel, nous allons nous immerger dans le concept d'introspection dans l'univers de la programmation Python.

Pourquoi recourir à l'introspection ? L'introspection Python nous offre la possibilité de sonder les mécanismes internes d'un objet. Elle permet d'examiner ou de modifier son état, ses attributs et son type. C'est en quelque sorte la clé qui ouvre la porte à la compréhension profonde de la nature d'un objet et des fonctionnalités qu'il propose.

Python met à notre disposition un éventail impressionnant d'outils d'introspection. Voici quelques exemples :

  • type()
    Cet outil dévoile le type de l'objet concerné. Il s'avère utile pour distinguer si un objet est une liste, un dictionnaire, un entier, une chaîne de caractères, parmi d'autres.

    Exemple. Création d'une liste :

    >>> var = [1,2,3,4]

    Puis, identification du type de la variable var avec la fonction type() :

    >>> type(var)

    La fonction type renvoie le type de donnée, ici une liste.

    <class 'list'>

  • dir()
    Cet outil propose un inventaire des attributs et méthodes associés à l'objet. Il offre un aperçu des différentes capacités d'un objet.

    Exemple. Création d'une liste :

    >>> var = [1,2,3,4]

    Ensuite, examen des propriétés et méthodes accessibles pour un objet de type "liste" avec la fonction dir() :

    >>> dir(var)

    La fonction dir() révèle la liste des propriétés et méthodes.

    ['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', ... etc.

  • id()
    Cet outil génère l'identifiant unique de l'objet dans l'écosystème Python. Cet identifiant est précieux pour déterminer si deux références pointent vers le même objet.

    Exemple. Création d'un tuple :

    >>> var = (1,2,3,4)

    Puis, affichage de l'identifiant de l'objet avec la fonction id() :

    >>> id(var)

    La fonction id() indique la référence de l'objet en mémoire.

    140492943321280

  • getattr(), setattr(), et delattr()
    Ces outils sont conçus pour interroger, assigner ou supprimer les attributs d'un objet.
  • hasattr()
    Cet outil vérifie la présence d'un attribut spécifique au sein d'un objet, renvoyant True si l'attribut est présent, False sinon.

    Exemple. Création d'un tuple :

    >>> var = (1,2,3,4)

    Ensuite, contrôle de la présence de l'attribut 'real' avec la fonction hasattr() :

    hasattr(var,'real')

    La fonction indique False, les tuples ne possédant pas l'attribut 'real'.

    False

  • in()
    Cet outil est utilisé pour déterminer si un élément est contenu dans un objet.

    Exemple. Création d'une chaîne de caractères :

    >>> var = "Python"

    Puis, vérification de la présence de la sous-chaîne "th" dans la chaîne avec la fonction in() :

    >>> "th" in var

    La fonction confirme la présence de la sous-chaîne "th" dans "Python".

    True

  • is()
    Cet outil compare deux objets pour savoir s'ils partagent la même référence en mémoire.

    Exemple. Création de deux listes :

    >>> list1 = [1,2,3]
    >>> list2 = [1,2,3]

    Puis, vérification de leur identité de référence en mémoire avec l'opérateur is :

    >>> list1 is list2

    Les deux listes, bien qu'identiques en apparence, sont distinctes en mémoire.

    False

  • isinstance()
    Cet outil est indispensable pour confirmer si un objet appartient à une classe donnée ou à un de ses sous-types.
  • issubclass()
    Cet outil permet de déterminer si une classe est dérivée d'une autre.

Disposer de ces outils d'introspection enrichit considérablement notre capacité à naviguer avec aisance dans les complexités du code Python.

 
 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin

Tutorial Python

FAQ