関数内でグローバル変数を作成または使用するにはどうすればよいですか?
ある関数内で定義されたグローバル変数を他の関数内で使用するにはどうすればよいですか?
global
適切な場所でキーワードを使用しないと、多くの場合、 が発生しますUnboundLocalError
。これに関する正確なルールは、ローカル変数を最初に使用した後に再割り当てすると UnboundLocalError が発生する一般的に、説明が求められている場合は他の質問をその質問の重複として閉じ、キーワードを知りたいだけの場合はこのglobal
質問を閉じてください。
ベストアンサー1
グローバル変数を他の関数内で使用するには、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
キーワードを使用して他の動作を明示的に選択する必要があります。
モジュール間でグローバル変数を共有する場合は、他の回答を参照してください。