1

解析された文字列に基づいて変数の名前を付けたいとします。例えば解析された文字列に基づく変数名

: 文字列に解析された場合==「犬」:pythonでシンボルテーブルをお知らせする 私の変数名は犬と同じである必要があり、その値文字列 '犬

+0

PHPでこれを行うことができます(可変変数と呼ばれます)。しかし、 。多分その言葉の検索をします。 –

答えて

1

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を生成します。この場合、ローカルスコープはグローバルなためです。クラス内ではさまざまなコンテンツが表示され、ローカルスコープまたはグローバルスコープをマングリングするかどうかを決定する必要があります。

しかし、あなたが何をしているのか分からない限り、このようなことをするのはあまりいい考えではないでしょう。名前属性を持つ自己定義されたクラスのオブジェクトを作成することができます - あなたが行うことに依存します

関連する問題