1. ホーム
  2. python

[解決済み] 代入前にローカル(?)変数が参照される【重複

2022-04-27 10:54:30

質問

test1 = 0
def testFunc():
    test1 += 1
testFunc()

以下のエラーが発生しています。

UnboundLocalError: ローカル変数 'test1' は代入前に参照されました。

エラーによると 'test1' はローカル変数ですが、私はこの変数がグローバルであると考えました。

グローバルなのかローカルなのか、そしてグローバルなものを渡さずにこのエラーを解決するにはどうしたらいいのか。 test1 を引数として testFunc ?

解決方法は?

を変更するためには test1 を定義する必要があります。 test1 をグローバル変数として使用するなどの方法があります。

test1 = 0
def testFunc():
    global test1 
    test1 += 1
testFunc()

しかし、グローバル変数を読み取るだけであれば、キーワードを使わずに表示することができます。 global というように。

test1 = 0
def testFunc():
     print test1 
testFunc()

しかし、グローバル変数を変更する必要がある場合は、必ずキーワード global .