Лучший способ обработки статических переменных, чтобы избежать циклического импорта в PythonPython

Программы на Python
Ответить
Anonymous
 Лучший способ обработки статических переменных, чтобы избежать циклического импорта в Python

Сообщение Anonymous »

У меня есть модуль create.py. Помимо прочего, он содержит несколько объектов (они являются частичными, но для данного вопроса это не имеет большого значения). Чтобы упростить:

Код: Выделить всё

MASTER_IDENTIFIER = object()
WORKER_IDENTIFIER = object()
Они необходимы во многих других файлах — назовем один validator.py. Включая некоторые из них, импортированные с помощью create.py. Это приводит к циклическому импорту, поскольку create import validator и validator imports create для доступа к идентификаторам. Какова схема решения этой проблемы?
Подход 1
Мы могли бы передать эти аргументы в качестве параметров, но это довольно быстро перегрузило бы функции.
Подход 2
Мы могли бы переместить эти статические значения в другой модуль. Это то, что я делал в прошлом. Существует ли соглашение об именах для этих файлов или базовый шаблон?
Я предполагаю, что решений может быть еще больше, и, учитывая, как часто я сталкиваюсь с этой проблемой, я просто хотел бы знать, какое лучшее решение есть.

Подробнее здесь: https://stackoverflow.com/questions/793 ... -in-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»