グローバル変数 があるとしますa
。また、関数定義内に という名前のローカル変数もありますa
。グローバル変数の値をローカル変数の値に割り当てる方法はありますか?
a = 'foo'
def my_func(a = 'bar'):
# how to set global a to value of the local a?
ベストアンサー1
globals()
現在のグローバル シンボル テーブルを表す辞書を返します。これは常に現在のモジュールの辞書です (関数またはメソッド内では、これは定義されているモジュールであり、呼び出されるモジュールではありません)。
a = 'foo'
def my_func(a = 'bar'):
globals()['a'] = a
ちなみに、グローバルはモジュールのスコープ内でのみ「グローバル」であることに注意してください。