Pythonでコードを書くときに、変数がグローバルなものかローカルなものかを考えながらプログラミングしていますか? Pythonでは変数の扱いについて気をつけることは少ないのですが、関数の外で宣言された変数か、関数の内側で宣言された関数かどうかはとても重要な要素の一つです。 python - グローバル変数の使用を避ける コード全体で複数の異なる部分で生成されたリストを使用する必要がありますが、今のところはリストをグローバル変数にしてこれを行っています。 Pythonでのグローバル変数の宣言方法と仕様について説明します。 グローバル変数の宣言方法 グローバル変数を宣言する書式は以下のとおりです。 [crayon-5ee82e1982dad4512075… グローバルスコープにオブジェクトxがなければ、新しくグローバル変数xとして宣言(グローバルスコープからもこのxは扱える) 先ほどのコードだと実はxはグローバルスコープではなく、main()(=ローカルスコープ)内に存在していた。 グローバル変数として利用してから、代入を行うと、 前者はグローバル変数、後者はローカル(関数内)変数と解釈が食い違うため、エラーが発生します。 それを避けるために、グローバル変数を利用する … Pythonではグローバル変数を関数の中で書き換えるときに「global宣言」が必要となります。いったい、なぜこの宣言が必要なのかの理由を深堀りしていきます。