解析された文字列に基づいて変数の名前を付けたいとします。例えば解析された文字列に基づく変数名
: 文字列に解析された場合==「犬」:pythonでシンボルテーブルをお知らせする 私の変数名は犬と同じである必要があり、その値文字列 '犬
解析された文字列に基づいて変数の名前を付けたいとします。例えば解析された文字列に基づく変数名
: 文字列に解析された場合==「犬」:pythonでシンボルテーブルをお知らせする 私の変数名は犬と同じである必要があり、その値文字列 '犬
This answerが直接に役立ちます質問に答える:
>>> varname = 'spam'
>>> value = 'eggs'
>>> locals()
{'__builtins__': <module 'builtins' (built-in)>, 'varname': 'spam', 'value': 'eggs', '__package__': None, '__name__': '__main__', '__doc__': None}
>>> locals()[varname] = value
>>> locals()
{'__builtins__': <module 'builtins' (built-in)>, 'varname': 'spam', 'spam': 'eggs', 'value': 'eggs', '__package__': None, '__name__': '__main__', '__doc__': None}
>>> print(spam)
some value
locals()
は、局所的に目に見える変数のdict
を提供します。 dictを変更することで、新しい変数を変更して作成することができます。 Python documentation here
また、対応するglobals()
が、グローバルに表示される変数にアクセスします。変数の範囲については、this part of the python documentationを参照してください。
上記の文脈では、globals()
は、同じ内容のdict
を生成します。この場合、ローカルスコープはグローバルなためです。クラス内ではさまざまなコンテンツが表示され、ローカルスコープまたはグローバルスコープをマングリングするかどうかを決定する必要があります。
しかし、あなたが何をしているのか分からない限り、このようなことをするのはあまりいい考えではないでしょう。名前属性を持つ自己定義されたクラスのオブジェクトを作成することができます - あなたが行うことに依存します
PHPでこれを行うことができます(可変変数と呼ばれます)。しかし、 。多分その言葉の検索をします。 –