À quoi sert la fonction dir en Python ? - Docstring

À quoi sert la fonction dir en Python ?

La fonction dir permet de récupérer des informations sur un espace de nommage ou un objet.

Utilisée sans arguments, elle retournera tous les noms définis dans l'espace de nommage local :

#norun
>>> a = 5
>>> dir()
['__annotations__',
 '__builtins__',
 '__doc__',
 '__loader__',
 '__name__',
 '__package__',
 '__spec__',
 'a']
On remarque dans le code ci-dessus qu'il existe de nombreux noms prédéfinis lors de l'ouverture d'un interpréteur Python ou au lancement d'un script.

C'est le cas par exemple de la variable __name__ qui dans le cas d'un script exécuté directement, est égale à la chaîne de caractères __main__ (voir le glossaire sur __name__).

On remarque également le nom de la variable a (que l'on a définie à la première ligne) qui est donc contenu dans l'espace local de l'interpréteur Python depuis lequel est exécutée la fonction dir.

La fonction dir permet également de récupérer une liste de noms appartenant à un objet.

Cette liste de noms n'est pas exhaustive, en effet, dir retourne une liste de noms les plus pertinents selon les contextes.

class Voiture:
    def __init__(self):
        self.marque = "Renault"
        self.couleur = "Rouge"
        self.prix = 20000


v = Voiture()
print(dir(v))

Il est possible de surcharger cette méthode à l'intérieur d'une classe pour indiquer quels attributs vous souhaitez retourner lors de l'utilisation de la méthode dir sur une instance de votre classe :

class Voiture:
    def __init__(self):
        self.marque = "Renault"
        self.couleur = "Rouge"
        self.prix = 20000

    def __dir__(self):
        return ["marque", "couleur"]


v = Voiture()
print(dir(v))

☝️Ici on indique que la méthode dir ne doit retourner que les attributs "marque" et "couleur".

L'attribut "prix" n'est donc pas affiché quand on utilise la fonction dir sur l'instance v

Réservé aux membres abonnés

Inscris-toi

Pour pouvoir prendre des notes et ajouter des favoris tu dois être abonné à Docstring.

Voir les formules

Mes notes

Sauvegardé

Passages surlignés

Besoin d'aide ?

Essaie d'être le plus exhaustif possible en donnant suffisamment de détails pour qu'on puisse te répondre du premier coup 😉

Tu peux également visionner cette vidéo dans laquelle je t'explique comment poser ta question correctement et utiliser l'éditeur.

Tu souhaites nous remonter un bug ? Utilise-plutôt ce formulaire.

Cette fonctionnalité est réservée aux membres de la formule accompagnement de Docstring.

Aucun résultat.

Un problème sur le site ?

Aide-nous à améliorer Docstring en nous signalant un problème que tu as rencontré.

Que ce soit un bug sur une fonctionnalité ou une erreur dans une formation, on va pouvoir le corriger rapidement 😉

Page concernée

M'avertir par e-mail

Je veux être averti par e-mail lorsque ce bug est corrigé.