私はPythonでグローバル変数の答えを見ましたが、私は2つの同様のスクリプトを書くときに、それらの違いを認識することができません。違いを理解するのを助けてください。私が言ったように、私はそれについて多くの記事を読んでいましたが、私の頭の中には常に疑わしいものがあり、これは時々間違いを引き起こします。違いは何ですか?
total = 0
def sum(a,b):
total = a+b
print ("inner total is:",total)
return total
sum(19,21)
print ("outter total is:",total)
OUTPUT
inner total is: 40 outter total is: 0
i = 2
def a():
i = i + 2
print (i)
pass
a()
OUTPUT
UnboundLocalError Traceback (most recent call last) in() 6 pass 7 ----> 8 a(9)
in a(x) 2 3 def a(x): ----> 4 i = i +x 5 print (i) 6 pass
UnboundLocalError: local variable 'i' referenced before assignment