ローカル変数と同じ名前のグローバル変数を変更する 質問する

ローカル変数と同じ名前のグローバル変数を変更する 質問する

グローバル変数 があるとしますa。また、関数定義内に という名前のローカル変数もありますa。グローバル変数の値をローカル変数の値に割り当てる方法はありますか?

a = 'foo'

def my_func(a = 'bar'):
    # how to set global a to value of the local a?

ベストアンサー1

使用組み込み関数globals()

globals()

現在のグローバル シンボル テーブルを表す辞書を返します。これは常に現在のモジュールの辞書です (関数またはメソッド内では、これは定義されているモジュールであり、呼び出されるモジュールではありません)。

a = 'foo'

def my_func(a = 'bar'):
    globals()['a'] = a

ちなみに、グローバルはモジュールのスコープ内でのみ「グローバル」であることに注意してください。

おすすめ記事