8

私はこれについて助けが必要でした。これを分類する方法がわからないため、文字列を変数/オブジェクト/インスタンス名に変換するにはどうすればよいですか。
私のコードが次のとおりであると仮定します。

a = {}
b = {}

class Test:
    def getKeys(self, var):
        return var.keys() #where var refers to the dictionary and its a string initially
4

2 に答える 2

8

Pythonで何かをしてからずっと経ちましたが、一度この問題が発生したことを覚えています. 機能を調べることをお勧めしますeval()

于 2013-03-04T01:21:29.473 に答える
4

私が正しく理解していれば、変数varはまたはの可能性がある文字列"a"です"b"。その文字を使用して、調べる正しい辞書グローバル変数を選択します。

名前で検索するために使用できるキーを使用して、辞書を別の辞書に入れることをお勧めします。

my_dicts = {"a":a, "b":b}

class Test:
    def getkeys(self, dict_name):
        return my_dicts[dict_name].keys()

ただし、これは単なる設計上の問題かもしれません。変数名をgetkeysメソッドに送信する代わりに、単純に辞書自体を送信して現在のコードを使用してみませんか?

の代わりにTest().getkeys("a")、呼び出しますTest().getkeys(a)(引用符なし)。

于 2013-03-04T01:28:51.703 に答える