Не понимаю в классах 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)