Вызов функции из другого модуля
Есть задача: Имеется функция incrimentGlobalVar для теста прописал, что раз в 3 секунды добавляется счетчик +1. Мне нужно подучить значение этого счетчика, вызвав функцию из соседнего модуля (постараться без глобальных переременных)
import time
def incrimentGlobalVar():
incrimentGlobalVar._someVar = incrimentGlobalVar._someVar + 1 if hasattr(incrimentGlobalVar, "_someVar") else 0
return incrimentGlobalVar._someVar
def loop():
while True:
incrimentGlobalVar()
print(incrimentGlobalVar._someVar)
time.sleep(3)
if __name__ == "__main__":
loop()
Сосдедний модуль выглядит так:
import func
print(func.incrimentGlobalVar())
print(func.incrimentGlobalVar())
print(func.incrimentGlobalVar())
Результат, из модулья я получаю не текущие значения счетчика 0, 1, 2, те запускаеться какая-то копия или поток этой функции. Как подключиться именно к том, что сейчас происходит внутри функции incrimentGlobalVar():?
Пробовал похожее сделать на классах, результат тот же.
import time
class FuncCreator:
def __init__(self, T1):
self.state = T1
def __call__(self):
print(self.state)
self.state += 1
func6 = FuncCreator(100)
def fff():
func6()
def loop():
while True:
func6()
time.sleep(3)
if __name__ == "__main__":
loop()
Вызывл так:
import func
print(func.fff())
print(func.fff())
print(func.fff())