English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base Python

Contrôle de flux Python

Fonctions en Python

Types de données en Python

Opérations de fichiers Python

Objets et classes Python

Dates et heures Python

Connaissances avancées Python

Manuel de référence Python

Utilisation et exemples de dir() en Python

Python built-in functions

La méthode dir() essaie de renvoyer une liste d'attributs valides de l'objet.

La syntaxe de dir() est :

dir([objet])

Paramètres de dir()

dir() peut容纳一个对象。

  • Objet(Optionnel)-dir() essaie de renvoyer toutes les propriétés de cet objet.

Valeur retournée par dir()

dir() essaie de renvoyer une liste d'attributs valides de l'objet.

  • Si l'objet a la méthode __dir__(), cette méthode est appelée et elle doit renvoyer une liste d'attributs.

  • Si l'objet n'a pas la méthode __dir__(), cette méthode essaie de trouver des informations dans l'attribut __dict__ (si défini) et l'objet de type. Dans ce cas, la liste renvoyée par dir() peut ne pas être complète.

Si l'objet n'est pas passé à la méthode dir(), elle renverra la liste des noms locaux actuels.

Example1Comment fonctionne dir() ?

number = [1, 2, 3]
print(dir(number))
print('\nReturn Value from empty dir()')
print(dir())

When running the program, the output is:

__add__, __class__, __contains__, __delattr__, __delitem__, __dir__, __doc__, __eq__, __format__, __ge__, __getattribute__, __getitem__, __gt__, __hash__, __iadd__, __imul__, __init__, __iter__, __le__, __len__, __lt__, __mul__, __ne__, __new__, __reduce__, __reduce_ex__, __repr__, __reversed__, __rmul__, __setattr__, __setitem__, __sizeof__, __str__, __subclasshook__, append, clear, copy, count, extend, index, insert, pop, remove, reverse, sort
Return Value from Empty dir()
__builtins__, number

Example2: dir() on a user-defined object

class Person:
  def __dir__(self):
    return ['age', 'name', 'salary']
    
teacher = Person()
print(dir(teacher))

When running the program, the output is:

['age', 'name', 'salary']

Python built-in functions