Pythonのローカル変数とグローバル変数のサンプルです。(確認環境:Python 3)
目次
サンプル | ローカル変数とグローバル変数 |
関数内からグローバル変数を参照する | |
グローバル変数の値を変更する(global) |
ローカル変数とグローバル変数
- ローカル変数は関数の中にある変数です。変数を宣言した関数内でのみ利用できます。
- グローバル変数は関数の外にある変数です。
- 変数が通用する範囲のことをスコープといいます。
- 別々の関数のローカル変数は同じ変数名でも可です。
- グローバル変数とローカル変数は同じ変数名でも可です。
ローカル変数とグローバル変数を使用したサンプルです。
# coding: utf-8
a = "123" #グローバル変数
def test1():
b = "456" #ローカル変数
return b
print(a)
#print(b) #エラー
print(test1()) # 456
3行目は、グローバル変数です。
6行目は、ローカル変数です。
9行目は、グローバル変数の値を表示しています。
10行目は、5行目の変数bが関数の中にあるのでアクセスできずエラーになります。
11行目は、関数test1を実行して戻り値の値を表示しています。
関数内からグローバル変数を参照する
関数内から直接グローバル変数を参照するサンプルです。
# coding: utf-8
a = "123"
def test1():
return a
print(a) # 123
print(test1()) # 123
3行目は、グローバル変数です。
7行目の変数aは、3行目のグローバル変数を参照しています。関数内からグローバル変数の参照はできます。
9行目は、グローバル変数の値を表示しています。
11行目は、関数test1を実行し値を返します。
グローバル変数の値を変更する(global)
グローバル変数の値を変更するサンプルです。
# coding: utf-8
a = "123"
def test1():
global a
a = "ABC"
return a
print(test1()) # ABC
print(a) # ABC
3行目は、グローバル変数です。
6行目は、変数の前にglobalを付けています。
7行目は、変数aに値を代入しています。このとき3行目のグローバル変数の値も変更されます。
10行目は、関数内でセットされた値(ABC)が表示されます。
12行目は、7行目でグローバル変数の値が変わったためこちらも値(ABC)が表示されます。
6行目をコメントにした場合12行目は値(123)が表示されます。
関連の記事