【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()
・グローバル変数とは?
・グローバル変数の使い方(値の変更なし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
この記事が気に入ったらサポートをしてみませんか?