1

文字列で解析されたものに基づいて変数に名前を付けたいと思います。

例:string =='dog'で解析された場合:私の変数名はdogと等しく、その値は文字列'dog'である必要があります

4

1 に答える 1

1

Pythonのシンボルテーブルについて通知するこの回答は、質問に直接回答するのに役立ちます。

>>> 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のドキュメントはこちら

globals()グローバルに表示される変数にアクセスするための対応するものもあります。変数のスコープについては、Pythonドキュメントのこの部分を参照してください。

上記のコンテキストでは、ローカルスコープがグローバルであるため、同じコンテンツのがglobals()生成されます。dictクラス内では、さまざまなコンテンツが表示されるため、ローカルスコープとグローバルスコープのどちらをマングルするかを決定する必要があります。

ただし、自分が何をしているのかを理解していない限り、この種のことを行うのはおそらくあまり良い考えではありません。名前属性を持つ自己定義クラスのオブジェクトを作成できます-何をしようとしているのかによって異なります

于 2012-04-24T06:52:39.030 に答える