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

Когда возникают циклические импорты

Циклические импорты возникают, когда два или более модуля зависят друг от друга напрямую или косвенно. Например, модуль A импортирует модуль B, а модуль B импортирует модуль A. Python может обработать это, но это часто приводит к ошибкам или неожиданному поведению.

Пример:

python
# module_a.py
from module_b import b_func
def a_func():
    b_func()

# module_b.py
from module_a import a_func
def b_func():
    a_func()

Как избежать:

  1. Реорганизовать код, вынеся общую логику в третий модуль.
  2. Использовать локальные импорты внутри функций.
  3. Применять отложенные импорты (import внутри функций).

Лучший способ:

python
# module_a.py
def a_func():
    from module_b import b_func
    b_func()

Циклические импорты — признак плохой архитектуры, их стоит избегать.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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