可能性の重複:
declaring a global dynamic variable in pythonExecの文は正しく名前
>>> def f():
global cat
exec 'cat'+'="meow"'
return
>>> f()
>>> cat
Traceback (most recent call last):
File "<pyshell#23>", line 1, in <module>
cat
NameError: name 'cat' is not defined
この私が遭遇してきた問題のほんのストリップダウンの例です。実際のスクリプトでは、クラスのさまざまなインスタンスを作成して名前を付ける必要があります。したがって、execステートメントです。ただ、シェルに直接
exec 'cat'+'="meow"'
を呼び出す
が正常に動作しますが、できるだけ早くそれが機能に詰めていますように、もはや動作していないようです。あなたが幹部を使用している理由は、私はまだ理解していない
それはまだ非常に悪い考えです! –
'global_and_I_really_understand_why_global_is_almost_always_bad'で' global'キーワードを置き換える際に、PEPを書き留めてしまいました。 (おそらく、 'exec'のための同様のPEP) – geoffspear
そして、最初の'グローバル猫 'は完全に不要です。 'exec'の中のものだけがその名前が使われている範囲にあります。 – geoffspear