1. ホーム
  2. python

[解決済み] 関数内でグローバル変数を使用する

2022-03-16 06:06:49

質問

関数内でグローバル変数を作成または使用するにはどうすればよいですか?

ある関数でグローバル変数を作成した場合、そのグローバル変数を別の関数で使用するにはどうしたらよいでしょうか?グローバル変数へのアクセスが必要な関数のローカル変数に、グローバル変数を格納する必要があるのでしょうか?

どのように解決するのですか?

として宣言することで、他の関数内でグローバル変数を使用することができます。 global を、値を代入する各関数内で使用します。

globvar = 0

def set_globvar_to_one():
    global globvar    # Needed to modify global copy of globvar
    globvar = 1

def print_globvar():
    print(globvar)     # No need for global declaration to read value of globvar

set_globvar_to_one()
print_globvar()       # Prints 1

というのが不明なので globvar = 1 はローカル変数の作成なのかグローバル変数の変更なのか、Pythonはデフォルトでローカル変数を作成し、もう一方の動作を global キーワードを使用します。

モジュール間でグローバル変数を共有したい場合は、他の回答を参照してください。