Позволяет определить результат выполнения функции dir() для пользовательского класса.
object.__dir__(self)
self -- Ссылка на экземпляр.

Метод вызывается функцией dir(), когда данный объект передан в неё в качестве аргумента.

Должен возвращать последовательность, которую dir() превратит в список и отсортирует.

    class My:
"""Обычный класс."""

dir(My()) # ['__class__', '__delattr__', '__dict__', ... ]


class My:
"""Класс, с переопределённым __dir__."""

def __dir__(self):
return 'one', 'two'


dir(My()) # ['one', 'two']

На заметку
Подобное может быть полезно, когда класс определяет методы доступа к атрибутам: __getattr__() и __getattribute__().
Синонимы поиска: object.__dir__, object, __dir__
На заметку
Читайте нас в Twitter. Ссылка в самом низу страницы.