※このページではアフィリエイト広告を利用しています

【Python入門】ローカル変数とグローバル変数の注意点

Python

ここでは、Pythonにおける関数における変数の取り扱い方法について解説しています。

この記事の対象

  • 関数内の変数について知りたい方
  • 関数内での変数を扱う時の注意点を知りたい方
  • Global変数とLocal変数について使用例を知りたい方
スポンサーリンク
スポンサーリンク

変数とは

関数における変数にはルールがあります。Local変数とGlobal変数と使い分ける必要があります。関数内で利用した変数は関数の外では使用できません。

変数についてはこちらを参照してください。

Local変数とは

Local変数とは関数内だけで有効な変数のことを指します。

Local変数を用いた使用例

def test():
 math = 80
 return math

print("Math=",test())

上記のプログラムは、関数内の変数を関数外で出力しているものです。関数内で用いている変数は全てLocal変数と定義されます。

結果

Math=80

Global変数とは

関数の外で利用する変数をGlobal変数と言います。変数の外で共通で利用できます。

Global変数を用いた使用例1

math = 80
def test():
 math = 70
test()
print("math=",math)

上記のプログラムは関数内を呼び出してmathを出力するものとなっています。関数内の70という値を呼び出すつもりでいた場合は80が優先されるという事になります。

結果

Math=80

Global変数を用いた使用例2

math = 80
def test():
 global math
 math = 70

test()
print("math=",math)

Global変数で80と指定した値を関数内で書き換えて、その値を出力するプログラムです。関数内で「global 変数名」と記述して変数を扱うことで関数内でGlobal変数を取り扱えます。

結果

math=70

まとめ

  • ローカル変数とグローバル変数で同じ名前の変数がある場合、関数内ではローカル変数が優先されます。
  • ローカル変数とグローバル変数で同じ名前の変数を関数内で変更することはできません。変更する場合は、グローバル変数を関数内で明示的に参照して変更する必要があります。
  • 関数内でグローバル変数を参照する場合、globalキーワードを使用して宣言する必要があります。宣言しない場合、関数内でグローバル変数を参照しようとすると、ローカル変数として扱われます。
タイトルとURLをコピーしました