Обмен переменными между модулями в pyton
В моей программе есть два модуля. Из модуля(А) я передаю переменную в модуль(В), а из модуля(В) мне нужно вернуть переменную в модуль(А).
Это не часть моей программы, а просто такой же пример.
Модуль(А)
import B
a = 4
y = B.y
x = 1
z = x + y
print(z)
Модуль(В)
import A
a = A.a
y = 3 + a
То есть мы переменную а передаем в модуль В, а из модуля В мы должны вернуть переменную y.
Возникает такая ошибка:
partially initialized module 'B' has no attribute 'y' (most likely due to a circular import)
Подскажите пожалуйста, что я делаю не так и как это исправить?
Ответы (2 шт):
Самое простое решение - сделать третий модуль C, который будет содержать ваши глобальные переменные. И результаты вычислений A и B сохранять в C
Может есть более правильное решение?
Попробуйте так:
q1448874_a.py
from q1448874_b import func_b
a = 4
y = func_b(a)
#y = B.y
x = 1
z = x + y
print(z)
q1448874_b.py
def func_b(A_a):
# a = A_a
y = 3 + A_a
return y