【Python】変数とグローバル変数の違い【グローバル宣言,global化】

プログラム
スポンサーリンク

はじめに

今回はPythonの変数とグローバル変数の違いを紹介します。
Pythonの導入や基本操作が行えることを前提で進めます。

↓前提知識はこちらをご覧ください↓

【Python】導入方法から基本操作について
Pythonは無料で使えるプログラミング言語でA「I開発や作業の自動化」に強いとされてます。導入は公式サイトからダウンロード。DLしたら「IDLE」を起動して動かします。2行以上のブログラムの場合は「.py」ファイルを作成する必要があります。

変数と関数

変数は普通に「a = 〇〇」のような形で設定できます。
これで “a” に〇〇という情報が入り使えます。

そしたら、このprint()処理を関数に入れます。
そして、この関数を実行する処理を作ると、普通に変薄の内容が表示されます。

関数は「def “関数名”():」で設定できます。
その行以降で、Tabキーのスペースを空けて書いたところが関数の中身になります。

そして、関数を実行するには関数外に「”関数名”()」を書いて実行する形になります。

以上が、変数と関数の説明です。

関数内の変数は処理されない

次は、関数の中に変数を設定する処理を入れます。
この状態で関数を実行後、print(変数)を行うと… エラーが出ます。

関数の中にPrint処理を入れるのは問題無かったです。
が… 関数の中に変数を入れると問題が出ます。

上の方に、別の関数を読み込ませる処理を増設。
この状態で実行すると、関数内の変数が無視されます。

こちらの挙動から、関数内の変数は処理されてない事が分かります。

そしたら、関数外と関数内に同じ変数を用意し、別の内容を設定。
この状態で関数内に「print()」処理を入れて…
関数 → 関数外のprint()の順に実行。
すると、関数内では変数は生きてる事が分かります。
そして、関数から出ると関数内に合った変数の内容が無効になる事が分かります。

この、関数外にある変数の事を「グローバル変数」と呼びます。
関数内にある変数は「ローカル変数」と呼びます。

「グローバル」と「ローカル」変数はプログラム的には扱いが別モノになるので注意してください。
以上が、関数内の変数は処理されない事の解説です。

関数内の変数を処理する方法

関数内に入れて、ローカル変数になったモノは関数内でしか使えません。
関数外で使おうとするとエラーが出ます。(存在しないことになってるので)

ではどうすれば良いかと言うと…
関数内に「global (変数名)」の処理を入れます。
このグローバル宣言で、関数内の内容が関数外にまで影響します。

これが、関数内の変数を処理する方法です。

グローバル変数の内容を関数経由で変える

グローバル宣言を使うと、関数で変数の内容を変えれます。
これは、下図を見るのが早いと思います。

下図のような手順で処理されました。

最初は「a = “ねこ”」だったものが…
変数aに変更を加える、グローバル宣言入り関数を使う事で
「a = “aa”」に内容が変わった様子が分かると思います。

以上が、グローバル変数の内容を関数経由で変える処理です。

まとめ

今回は、Pythonの変数とグローバル変数の違いについて解説ました。

・普通に変数を設定するとグローバル変数になる
・関数の中で変数を設定するとローカル変数になる
・ローカル変数の内容は、そのままでは関数外に持ち出せない
・ローカル変数はグローバル宣言で関数外に影響を与えれる

また、他にもプログラムについて解説してます。

【Python】__pycache__ファイルを作らない方法
__pycache__はモジュール読み込み時に作られるキャッシュファイルで、プログラムに特殊な処理を入れたり、コマンドプロンプトでpython -Bや「set PYTHONDONTWRITEBYTECODE=1」を使うと作られなくなります。
【Python】コマンドプロンプトでPythonを動かす方法【環境変数,Pathを通す】
Windows OSの場合.pyプログラムはコマンドプロンプトで動かすと「python -」のコマンドが使えます。出力結果がPythonしか出ない場合は、アプリ実行エイリアスをオフにしたり、環境変数を調整してPathを通すなどの調整をします。

ぜひ、こちらもご覧ください。

コメント

タイトルとURLをコピーしました