:) ) в папке controllers - UserController и ProductController, я использую некие функции из первого во втором и из второго в первом, сотвественно в каждом файле я импортирую другой( в UserController ProductController, а в ProductController UserController ). Я могу избавиться от циклического импорта путем перемещение импорта из начала, но это выглядит как-то не правильно с точки зрения семантики языка.
Что в таких случаях делать, может у меня в глобальном плане что-то не так?
В питоне оочень гибкая семантика. Если работает, забей и пользуйся. Но обычно это сигнал что устройство модулей неудачное и его стоит пересмотреть.
Может у них должен быть общий родитель? Пока звучит как типичная ооп задача
То есть мне сделать __init__.py в котором импортированы все Controller и импортировать функцию из него?
Не, просто класс родитель в котором определены общие методы
Можно там common.py создать, куда сложить общие функции. У __init__ много магии.
Эм циклические импорты это не проблема, а скорее симптом))) то есть как только у тебя циклические импорты, у тебя либо что то не так с разбивкой на модули (нужно выносить в отдельный модуль общее) Либо с ооп какие-то проблемы
Обсуждают сегодня