3

locals()口述です。私が簡単に行う場合:

for i in locals().keys():
     type(i)

...返されるのは、名前がすべて文字列であるということです(はい、実際にはそうです)が、これらのキーは異なるタイプを示します。たとえば、モジュールなどです。一部の参照型(オブジェクト)だけでなく、プリミティブ型(int、stringなど)もあります。

ある意味、文字列から名前を抽出したい。文字列の属性を使用してこれを行う方法を検討しましたが、実行できません。内省から何かが必要だと思いますが、何ですか?

4

1 に答える 1

2

locals().keys()ローカル空間にバインドされているすべての変数名を返します。それらは名前なので、すべて文字列です。(Python 2.xではlocals().iterkeys()、これを使用してイテレーターを取得することもできます。)

locals().values()代わりに試してください。Python 2.xの場合locals().itervalues()、イテレータを取得するために使用できます。

またはペアlocals().items()を取得します。key, valuePython 2.xの場合locals().iteritems()、イテレータを取得するために使用できます。

于 2012-04-20T22:37:11.830 に答える