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

ローカル変数とグローバル変数についてPython入門者向けにまとめました。

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

本ページの内容は以下動画でも解説しています。

ローカル変数とグローバル変数の違いは次の通りです。

説明
ローカル変数 ・関数の「内部」で定義された変数
・関数内での「参照・代入ともに可能
グローバル変数 ・関数の「外部」で定義された変数
・関数内で「参照は可能
・関数内で「代入は不可能
※代入したい場合は、「global」をつけて宣言する必要あり

サンプルコード1

ローカル変数とグローバル変数の使用例です。

x = 0                   # グローバル変数

def my_func():
    print(x)             # 参照することはできる
    global x            # global宣言
    x = 1              # global宣言すれば代入可能

    y = 2 # 普通に関数内で変数宣言すればローカル変数(関数外では代入・参照できない)

サンプルコード2

message = "グローバル変数の値です"

def myfunc1():
  print(message)

def myfunc2():
  message = "関数内から代入した値です"
  print(message)


myfunc1() # グローバル変数の値です
myfunc2() # 関数内から代入した値です
print(message) # グローバル変数の値です

 
global宣言を以下のように用いると、関数内でグローバル変数の値を書き換えできます。

message = "グローバル変数の値です"

def myfunc():
  global message # 関数myfunc内の変数messageはグローバル関数として扱う
  message = "関数内から代入した値です"
  print(message)

myfunc() # 関数内から代入した値です
print(message) # 関数内から代入した値です
【Python】関数内でグローバル変数に値を代入して書き換える
Pythonの関数内でグローバル変数に値を代入して書き換える方法についてまとめました。

関連記事

【Python超入門】使い方とサンプル集
Pythonの使い方について、基礎文法から応用例まで入門者向けに解説します。

コメント