Как получить доступ к инициализированному объекту родителя, из модулей детей, пример:
file: foo.py
import builtins
class App:
def run(self):
self.value = 'world'
from folder.bar import hello
hello()
def getvar(self):
return self.value
@classmethod
def create_app(cls):
self_obj = cls()
builtins.app = self_obj
return self_obj
obj = App.create_app()
obj.run()
file: folder/bar.py
def hello():
print("hello, " + app.getvar() + "!")
pass
Как видно из примера builtins открывает доступ к видимости объекта класса App, но я не уверен что это правильный ход, как-бы “глобальные переменные”. Какие вообще варианты решения?(желательно с кодом). Еще рассматривал вариант с синглтоном.