Не понимаю в классах python

Итак есть три класса. Скажем А, B, С - они как подпрограммы. Создаем класс майн.

В майн пишем:

    import A
    import B
    class ASR:
    
      def rr(self):
         self.a = A() #например подключаем класс конфига
         self.b = B() #например подключаем класс бд

   ASR.rr()

Примеры:

    class A:
        
        def config_run(self):
            self.config = ConfigUpdater()
    
            if not (os.path.isfile('config.ini')):
                cnf ="connect = :memory:"
                self.config.read_string(cnf)
    



    class B():
    def connect(self,connect):
    
       if a.get_value('connect') != ":memory:":

Как из А обратится к методам или атрибутам b, ну или наоборот? Передавать в качестве параметра к методам в инит?

Когда классы в одном файле, то через глобальную переменную хорошо выходит. А как это сделать из файлов классов я тупо не понимаю. Если делать через наследование - то пишет что вы получаете цикличность, импортируя майн в классе А.


Ответы (1 шт):

Автор решения: TigerTV.ru

Попробуйте выполнить сначала простой import, у вас проблемы именно с этим:

main.py

from class_a import A
from class_b import B

a = A()
b = B()

b.method1(a) # 5
b.method2()  # 5
b.method3(a)
b.method4()  # 5

class_a.py

class A:
    def __init__(self):
        self.i = 5

class_b.py

from class_a import A

class B:
    def __init__(self):
        self.i = 7

    def method1(self, a):
        print(a.i)

    def method2(self):
        a = A()
        print(a.i)

    def method3(self, a):
        self.a = a
        
    def method4(self):
        print(self.a.i)
→ Ссылка