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

Что такое циклические импорты

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

Пример циклического импорта:

python
# module_a.py
from module_b import func_b

def func_a():
    return "Function A"

# module_b.py
from module_a import func_a

def func_b():
    return "Function B"

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

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

Пример исправления (отложенный импорт):

python
# module_b.py
def func_b():
    from module_a import func_a
    return func_a() + " called from B"

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

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

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

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

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