Python ローカル変数とグローバル変数

Pythonのローカル変数とグローバル変数のサンプルです。

確認環境
・Python 3.7.0

目次

ローカル変数とグローバル変数

  • ローカル変数は関数の中にある変数です。変数を宣言した関数内でのみ利用できます。
  • グローバル変数は関数の外にある変数です。
  • 変数が通用する範囲のことをスコープといいます。
  • 別々の関数のローカル変数は同じ変数名でも可です。
  • グローバル変数とローカル変数は同じ変数名でも可です。

ローカル変数とグローバル変数のサンプル

ローカル変数とグローバル変数を使用したサンプルです。

# 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)が表示されます。

関連の記事

Python 関数のサンプル

△上に戻る