私は入力を受け取り、処理してから出力を返す関数があるモジュールを持っています。このモジュールの関数を呼び出すと動作するように見えますが、メインプログラムから変数 'result'にアクセスすることはできません。関数内のグローバル変数にアクセスする方法は?
file_a.py:
result = False
def test(incoming):
if incoming > 3:
result = True
else:
result = False
print(result)
return result
file_b.py:test()
内からresult
に問い合わせる
import file_a
for i in range(5):
file_a.test(i)
print(i, file_a.result)
が所望の結果を生成する(予想される場合、すなわち、それがTrueに変更)が、メインループからfile_a.result
は常にFalseです。
これは正しいです。しかし、あなたが実際にやろうとしていることに応じて、ローカルとして残して、file_b(file_a.test(i)をa = file_a.test(i)に変更してからaを返します関数呼び出しによって呼び出すことができます。 'a'ではなく 'return'と呼ぶこともできます。 – ViennaMike