Основная программа
import sc
while True:
sc.tst()
Модуль sc
global tvar
tvar = 10
def tst():
print(tvar)
#sc.tvar += 1
Так вот, если раскомментить tvar += 1, то будет ошибка:
Traceback (most recent call last):
File «D:\oz86files\dev\learn py\mn.py», line 5, in <module>
sc.tst()
File «D:\oz86files\dev\learn py\sc.py», line 4, in tst
print(tvar)
UnboundLocalError: local variable 'tvar' referenced before assignment
Т.е. к локальным переменным модуля нельзя получить доступ из функций самого этого модуля? Global не помогает, да и не нужно. Помог только вариант с присвоением пременной и передачей значения в функцию из основной программы.
Есть-ли другие способы? Т.к. это ужасный костыль.
Надо чтобы функции в модуле могли сами присваивать новые значения внутренним переменным модуля.