Pythonのグローバル変数の使い方はとても簡単です。
global_var = 100
def my_func():
global global_var
print(global_var)
my_func()
# 100
def my_func():
global global_var
print(global_var)
my_func()
# 100
my_funcという関数を使っている前提とします。
my_funcの外で「global_var = 100」としています。
my_funcの中で「global 変数名」とするとグローバル変数になります。
関数の外で定義した変数が関数の中に反映されます。
実行するとグローバル変数の値「100」が出力されます。
ネット上の情報を見ると、グローバル変数に関する説明について「関数の外で定義した変数」と書かれています。
サンプルも関数の外、コードの地の部分で定義したものばかりです。
では、関数内でグローバル変数を定義するにはどうしたらいいでしょうか。
次のようにするとうまくいきました。
def my_func1():
global global_var
global_var = 100
my_func2()
def my_func2():
global global_var
print(global_var * 2)
my_func1()
# 200
global global_var
global_var = 100
my_func2()
def my_func2():
global global_var
print(global_var * 2)
my_func1()
# 200
「my_func1」という関数の中で「global global_var」として「global_var = 100」と値を代入しています。
別の「my_func2」という関数の中でも「global global_var」とすると「my_func1」の値が「my_func2」に反映されます。
つまり双方の関数で「global 変数名」とすればOKです。
コメント