Как обратиться к переменной из другого модуля в PYTHON 3

У меня есть два файла: main.py и sub.py

Мне надо завести в main переменную, которую я смогу изменять в sub. Проблема в том, что sub импортируется в main и при добавлении строчки from main import charts (где charts - нужная мне константа) получается ошибка, как я понимаю, связанная с зацикленным импортом.

Я видел похожий вопрос тут Импорт функций из другого файла pytnon, но там всего лишь один ответ, который мне кажется неправильным. Хотелось бы узнать, существуют ли какие-то еще варианты выхода из данной ситуации

UPD.

main.py

from sub.py import MyClass

charts = 10

if __name__ == "__main__":
   my_example = MyClass()
   my_example.func()

sub.py

class MyClass:
    def func(self):
        // тут надо увеличить charts из main и вывести его

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

Автор решения: S. Nick

main.py

#from sub.py import MyClass
from sub import MyClass

charts = 10
print(f'main.py: charts = {charts}')

if __name__ == "__main__":
   my_example = MyClass()
   my_example.func(charts)

sub.py

class MyClass:

    def func(self, charts):

        # тут надо увеличить charts из main и вывести его

        charts += 1
        print(f'sub.py: charts = {charts}')
→ Ссылка
Автор решения: JopaBoga

1) Можно создать глобальную переменную

#settings.py

def init():
    global charts
    charts = 10

#main.py

import settings
settings.init() #создаем этот вызов один раз при создании программы
print(settings.charts)

#sub.py

import settings # везде где они нужны делаем импорт

class MyClass:
    def func(self, charts):
        settings.charts += 1

2) Можно создать используя @property и .setter, и сразу при обновлении переменной выполнять метод

#settings.py

class Global_Settings:
    def __init__(self):
        self._charts = 10        

    @property
    def charts(self):
        print('Произошел запрос переменной')
        return self._charts
    @charts.setter
    def charts(self, value):
        print('Произошло изменение переменной')
        self._charts = value

settings = Global_Settings()

#sub.py

from settings import settings

class MyClass:
    def func(self, charts):
        settings.charts += 1

#main.py

from settings import settings    
print(settings.charts) #выводим
→ Ссылка