本記事ではPythonでグローバル変数に代入する方法についてご紹介していきます。
サンプルコード
gist1c6eac88e80b2b459c856c202cb63792
コード説明
上記のサンプルコードについて、簡単に説明していきます。
Sample_Var
本記事でメインとなる変数。
グローバル変数であるため、通常の方法で代入できない。
本記事ではこの値を変更することを目標としています。
def Process1、Process2、Process3
それぞれ処理を行う関数。
Process1:ただ代入するだけ
Process2:グローバル宣言をした後に代入
Process3:グローバル宣言と代入を同時に行う
それ以外の部分
それ以外の部分は、関数実行と結果表示となります。
Process数字()
print(結果表示)
# 表示される結果
という順で記載しています。
グローバル変数に代入する方法
Pythonでグローバル変数に代入する場合は、グローバル宣言をする必要があります。
上記のサンプルコード内では7行目の【global Sample_Var】です。
このグローバル宣言の有無による結果の違いは、関数Process1とProcess2の違いになります。
Process1では関数内で変数に代入したものの、この代入は関数内でしか適用されておらず、printで結果を見たら元の値が出ています。
しかし、Process2では関数内でグローバル宣言後に代入しているため、グローバル変数に代入可能となり、関数外でも代入された値が出力されています。
まとめると、グローバル変数に代入する場合は、代入する前にglobalをつけてグローバル宣言をしましょう。
注意点:宣言と代入を同時にしない
代入する前にグローバル宣言をすればいいということで、グローバル宣言と代入を同時に行い、コードの短縮化を行おうとする人がいるでしょう。
しかし残念ながら宣言と代入を同時に行った場合、エラーが出てしまいます。
そのためグローバル変数を宣言する場合は、宣言と代入を分けてコーディングするようにしてください。
サンプルコードでは11行目に当たります。
参考記事
本記事の内容は以上となります。
Pythonでグローバル変数に代入する場合、他の言語のようにそのまま使えないため、初めて使う場合にエラーを起こしやすいです。
しかしどのように代入するかさえ分かってしまえば、かなり楽になるので是非参考にしてみて下さい。
本記事は以上です。お疲れさまでした。