python local variable 'hoge' referenced before assignment nonlocal
ってエラーが出て詰まった・・・・
■ 参考 : UnboundLocalErrorについて考察してみた
global変数とlocal変数の違いでエラーが起こっているのかと思ってコードとにらめっこして該当箇所を探したが
自分のコードの原因はもっと単純やった・・・
1. 関数の中でhogeが返り値になってる
return hoge
2. 関数の中でif分岐があって、片方の分岐に入らないとhogeが定義されていない
3. return hogeとすると「hogeがないよ」ってエラーが出てた
なので、if分岐がONになるときはエラーが起こらず
if分岐に入らないときはエラーが起こってた
1時間くらいかかったわ・・・
ひとまず、自分のpythonのglobalとlocal変数への理解は正しいことは確認できた
globalはなんとなくわかるけど、nonlocalってのもあるらしい
違いはわからん
必要ならまた調べる
面白そうな記事があったのでメモ
■ 参考 : 他の言語に慣れた人がPythonを使ったときにつまずきがちな10のポイント
ランキング参加中です
↓クリックしていただけると嬉しいです〜