首页 > 解决方案 > 如何用字符串指定变量或字典?

问题描述

我想创建一个对象,My_Class并想用字符串告诉它要获取什么字典。有没有比这样做更好的方法if

object_dictionary = {
    "car" : "some_car",
    "house" : "some_house",
    "animal" : "some_animal"
}

class My_Class:
    def __init__(self, string):
        if string == "object_dictionary":
            self.dictionary = object_dictionary

obj = My_Class("object_dictionary")

如果我想在更多字典之间进行选择,这将很不方便。我怎样才能做到这一点?

object_dictionary = {
    "car" : "some_car",
    "house" : "some_house",
    "animal" : "some_animal"
}

class My_Class:
    def __init__(self, string):
        self.dictionary = string

obj = My_Class("object_dictionary")

标签: pythonstringdictionary

解决方案


使用字典的字典。见下文

dicts = {
    "this_dictionary": {
        "car": "some_car",
        "house": "some_house",
        "animal": "some_animal"
    },
    "that_dictionary": {
        "12": "ttt"
    }
}



class MyClass:
    def __init__(self, dict_name):
        self.dictionary = dicts.get(dict_name, {})


obj = MyClass("that_dictionary")

推荐阅读