読者です 読者をやめる 読者になる 読者になる

Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

pythonのglobal変数を関数内で利用するときはちゃんと宣言する

ちょっと横着して、グローバル変数を使おうとしたところ

UnboundLocalError: local variable 'count' referenced before assignment

なるエラーが。

調べてみると、Python公式に以下のような記述が

Python では、関数内で参照されるだけの変数は暗黙的にグローバルにです。関数の本体のどこかで値が変数に代入されたなら、それは明示的にグローバルであると宣言されない限り、ローカルであるとみなされます。

というわけで、hoge関数中でグローバル変数countを使いたい場合、関数冒頭で以下のようにします。

def hoge():
    global count

    //...