私はこれについて助けが必要でした。これを分類する方法がわからないため、文字列を変数/オブジェクト/インスタンス名に変換するにはどうすればよいですか。
私のコードが次のとおりであると仮定します。
a = {}
b = {}
class Test:
def getKeys(self, var):
return var.keys() #where var refers to the dictionary and its a string initially
Pythonで何かをしてからずっと経ちましたが、一度この問題が発生したことを覚えています. 機能を調べることをお勧めしますeval()
。
私が正しく理解していれば、変数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)
(引用符なし)。