0

これは Python 2.7 にあります。これが例です。

v = 1

def print_v():
    v += 1
    print v

print_v()

このモジュールがインポートされたときに、これが得られないことをどのように書き直すことができますか:

$ python -c "import the_above_module"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "the_above_module.py", line 9, in <module>
    print_v()
  File "the_above_module.py", line 6, in print_v
    v += 1
UnboundLocalError: local variable 'v' referenced before assignment
4

1 に答える 1

4

global v関数の中に入れてくださいprint_v

ただし、グローバル変数を使用(および変更)する理由を検討する必要があります。それはしばしば物事を行うための壊れやすい方法です。

于 2013-02-23T21:36:43.227 に答える