Pythonでは、変数のスコープ(アクセス可能な範囲)によって、グローバル変数とローカル変数に分けられます。
グローバル変数とは
グローバル変数は、関数の外部で宣言され、プログラム全体からアクセス可能な変数です。以下に例を示します。
gvar = 'abcdefg' # グローバル変数
def gfunc():
print(gvar) # グローバル変数を参照
gfunc()
print(gvar)
このコードでは、gvar
は関数gfunc
の外部で宣言されているため、グローバル変数となります。そのため、関数内部でも外部でも参照可能です。
ローカル変数とは
一方、ローカル変数は関数内部で宣言され、その関数内部からのみアクセス可能な変数です。以下に例を示します。
def lfunc():
lvar = 'abcdefg' # ローカル変数
print(lvar)
lfunc()
print(lvar) # エラーが発生
このコードでは、lvar
は関数lfunc
内部で宣言されているため、ローカル変数となります。そのため、関数外部からは参照できません。
グローバル変数の書き換え
関数内部からグローバル変数を書き換えるには、global
キーワードを使用します。以下に例を示します。
gvar = 'abcdefg' # グローバル変数
def testfunc():
global gvar # グローバル変数を参照
gvar = '0123456' # グローバル変数を書き換え
print(gvar)
testfunc()
print(gvar) # グローバル変数が書き換えられている
このコードでは、testfunc
関数内部でglobal
キーワードを使用してgvar
をグローバル変数として参照し、その値を書き換えています。
以上がPythonのグローバル変数とローカル変数の基本的な使い方です。これらの理解と適切な使用は、Pythonプログラミングの効率と品質を向上させる重要な要素です。