Встречается на собеседованиях • сегодня

В чем разница между init и dir

__init__ и __dir__ — это магические методы в Python, но они выполняют совершенно разные функции.

__init__ — это конструктор класса, вызываемый при создании экземпляра. Он инициализирует атрибуты объекта:

python
class Example:
    def __init__(self, value):
        self.value = value

obj = Example(42) # init вызывается здесь

text

`__dir__` — возвращает список атрибутов и методов объекта. Если не переопределён, возвращает стандартный набор атрибутов:
```python
class Example:
    def __dir__(self):
        return ['custom_attr']

obj = Example()
print(dir(obj))  # ['custom_attr']

Ключевые различия:

  1. __init__ — инициализация, __dir__ — интроспекция.
  2. __init__ вызывается автоматически при создании объекта, __dir__ — при вызове dir().
  3. __init__ обычно модифицирует состояние объекта, __dir__ только возвращает информацию.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы