私のプログラムでは、いくつかの状況でのみグローバル変数が必要でした。それはこのようになります言う:if文の下で 'グローバル'はどのように動作しますか?
a = 0
def aa(p):
if p:
global a
a = 1
print("inside the function " + str(a))
print(a)
aa(False)
print("outside the function " + str(a))
私がする結果を期待していた。
0
inside the function 1
outside the function 0
それがあることが判明しかし:
0
inside the function 1
outside the function 1
をだから、私はオーケー」、考えていましたおそらくPythonコンパイラは変数がどこに位置していても 'global'キーワードが見つかるたびに変数をグローバルにします。これはPythonがグローバル変数とどのように動作するのでしょうか?私は誤解していますか?