私はこのコードを持っています:
def r():
i += 1
return i
def f():
return x*a
i = 0
a=2
x=3
print f()
print r()
ではこのエラーが発生しますがr()
、では発生しませんf()
:
~$ python ~/dev/python/inf1100/test.py
6
Traceback (most recent call last):
File "/home/marius/dev/python/inf1100/test.py", line 18, in <module>
print r()
File "/home/marius/dev/python/inf1100/test.py", line 2, in r
i += 1
UnboundLocalError: local variable 'i' referenced before assignment
f()
関数の外で定義された変数を使用できるのに、使用r()
できないのはなぜですか?