Возвращает имена [переменных], доступные в локальной области, либо атрибуты указанного объекта в алфавитном порядке.
Прототип
dir([obj])
Параметры
obj -- Объект, для которого следует вернуть имена атрибутов.
Результат
list Список имён/атрибутов в алфавитном порядке.
Описание
При вызове без аргумента, возвращает имена [переменных] доступные в локальной области, иначе — атрибуты указанного объекта.

Определение в классе метода __dir__(), возвращающего список и имён, позволяет варьировать результат выполнения dir() для экземпляров класса. Это может быть особенно полезно, когда класс определяет также методы доступа к атрибутам: __getattr__() и __getattribute__().

Для объектов, класс которых не определил __dir__(), функция попытается определить атрибуты по данным __dict__.

Возвращаемый список может включать не все атрибуты, особенно в случаях с переопределенным __getattr__().

Механизм извлечения имён dir() может быть реализован по разному для различных типов:
1. Если объект является модулем, список будет содержать имена атрибутов модуля;
2. Если объект является типом или классом, список будет содержать имена атрибутов данного объекта и его родителей (вычисляются рекурсивно).
3. В других случаях список будет содержать имена атрибутов самого объекта, его класса, и классов-родителей (вычисляются рекурсивно).

dir() по большей части используется в интерактивном режиме интерпретатора, и заточена на выдачу скорее наиболее интересных атрибутов, нежели исчерпывающего их списка, а потому её поведение может меняться от выпуска к выпуску. Так, например, если объектом является класс, то атрибуты его метакласса возвращены не будут.

Нет обсуждений для отображения.
Если у вас есть, что сказать, можете представиться и исправить ситуацию.