Page 1 of 1

Der beste Weg, mit statischen Variablen umzugehen, um zyklische Importe in Python zu vermeiden

Posted: 14 Jan 2025, 11:09
by Guest
Ich habe ein Modul create.py. Unter anderem enthält es ein paar Objekte (es sind Teilobjekte, aber das spielt für diese Frage keine große Rolle). Zur Vereinfachung:

Code: Select all

MASTER_IDENTIFIER = object()
WORKER_IDENTIFIER = object()
Diese werden in vielen anderen Dateien benötigt – nennen wir eine validator.py. Einschließlich einiger, die von create.py importiert werden. Dies führt zu zyklischen Importen wie create imports validator und validator imports create, um auf die Bezeichner zuzugreifen. Was ist das Schema f, um das zu lösen?
Ansatz 1
Wir könnten diese Argumente als Parameter übergeben, aber das würde die Funktionen ziemlich schnell überlasten.
Ansatz 2
Wir könnten diese statischen Werte in ein anderes Modul verschieben. Das habe ich in der Vergangenheit getan. Gibt es eine Benennungskonvention für diese Dateien oder ein Grundmuster?
Ich gehe davon aus, dass es noch mehr Lösungen gibt, und angesichts der Häufigkeit, mit der ich auf dieses Problem stoße, würde ich einfach gerne wissen, welche die beste ist Lösung ist.