У меня есть модуль, в котором есть функция, которая принимает вход, обрабатывает его, а затем возвращает вывод. Когда я вызываю функцию этого модуля, он работает, но я не могу получить доступ к переменной «result» из основной программы.Как получить доступ к глобальной переменной в функции?
file_a.py:
result = False
def test(incoming):
if incoming > 3:
result = True
else:
result = False
print(result)
return result
file_b.py:
import file_a
for i in range(5):
file_a.test(i)
print(i, file_a.result)
опрашивая result
изнутри test()
производит желаемого результата (т.е. она изменяется Истина, когда ожидается), но из основного цикла file_a.result
всегда False.
Это правильно. Но в зависимости от того, что вы действительно пытаетесь сделать, вы также можете оставить его как локальный и выполнить назначение в файле_b (сменить файл_a.test (i) на a = file_a.test (i), а затем a имеет возвращаемое значение по вызову функции. Вы даже можете назвать его «return», а не «a». – ViennaMike