dir()
dir(object)
Возвращает атрибуты объекта obj
в алфавитном порядке. При вызове без аргумента, возвращает имена переменных, доступные в локальной области.
- Определение в классе метода
__dir__
, позволяет управлять результатом выполнения данной функции для экземпляров класса. - Это может быть особенно полезно, когда класс определяет также методы доступа к атрибутам
__getattr__
и__getattribute__
. - Для объектов, класс которых не определен
__dir__
, функция попытается определить атрибуты по данным__dict__
. - Возвращаемый список может включать не все атрибуты, особенно в случаях с переопределенным
__getattr__
.
Механизм извлечения имён может быть реализован по разному для различных типов:
- Если объект является модулем, список будет содержать имена атрибутов модуля;
- Если объект является типом или классом, список будет содержать имена атрибутов данного объекта и его родителей (вычисляются рекурсивно).
- В других случаях список будет содержать имена атрибутов самого объекта, его класса, и классов-родителей (вычисляются рекурсивно).
Параметры
Фукция dir()
принимает один параметр:
- объект — может быть пустым/заполненным кортежем, списком, набором, словарем и т. д. или любым определяемым пользователем объектом.
Возвращаемое значение
- Функция
dir()
возвращает список допустимых атрибутов переданного объекта.
Примеры
dir(int) # ['__abs__', '__add__', '__and__', '__bool__', ... ]
dir('some') # ['__add__', '__class__', '__contains__', '__delattr__', ... ]