見出し画像

【Python入門#08】ローカル変数とグローバル変数を理解しよう

・Pythonにおける変数は2種類

それが
ローカル変数』と『グローバル変数
になります。



・ローカル変数とは?

関数の中でしか扱えない変数で、関数の外から参照や更新することはできません。変数の使える範囲が狭い(関数の中だけ)のが『ローカル変数』と覚えておきましょう!


・ローカル変数の使い方

ローカル変数は、関数の中だけで使えます。

def output():
    my_str = "Local" # output関数の中だけで有効
    print(my_str)


main関数からoutput関数のローカル変数を参照するとエラーになります。
my_str変数は、output関数の中だけで使えます

####### エラーになる例 #######

def output():
    my_str = "Local" # ローカル変数
    print(my_str)


def main():
    # output関数のローカル変数を参照しているのでエラー
    print(my_str)


if __name__ == '__main__':
    main()



・グローバル変数とは?

関数の外で定義され、関数の外からでも扱えるようになります。関数内でグローバル変数の値を変更する場合は、変数の前に『global』をつける必要があります。変数の使える範囲が広いのが『グローバル変数』と覚えておきましょう!


・グローバル変数の使い方(値の変更なしver)

①main関数の外で、グローバル変数を定義します
②main関数で、グローバル変数を参照して出力しています

# グローバル変数を定義
my_str = "Global" # ①


def main():
    # グローバル変数を参照
    print(my_str) # ②


if __name__ == '__main__':
    main()


#### 出力結果 ####
Global


・グローバル変数の使い方(値の変更ありver)

①グローバル変数の値を変更するので、変数の前に『global』をつけて、グローバル変数を使うことを宣言します
②関数の外でグローバル変数を定義します
③main関数でoutput関数を呼び出してグローバル変数を更新
④グローバル変数の更新前後で出力して比較する
出力結果を見ると、グローバル変数の更新後に値が更新されているのが分かりますね!

# グローバル変数を定義
my_str = "Global" # ②


def output():
    # グローバル変数を使うことを宣言
    global my_str # ①
    # グローバル変数の値を変更
    my_str = "HelloWorld"


def main():
    # グローバル変数を更新前に出力する
    print(my_str) # ④
    # グローバル変数を更新する(output関数を呼びだして更新)
    output() # ③
    # グローバル変数が更新されたので、変更されたか確認する
    print(my_str) # ④


if __name__ == '__main__':
    main()


#### 出力結果 ####
Global
HelloWorld


この記事が気に入ったらサポートをしてみませんか?