python - 如何用字符串指定变量或字典?
问题描述
我想创建一个对象,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")
解决方案
使用字典的字典。见下文
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")
推荐阅读
- jsp - 如何插入计算查询?
- node.js - 如何修复错误 ERR_CONNECTION_TIMED_OUT?
- php - 无法显示具有多对多关系的数据 Laravel 8
- javascript - 订单未在第一次渲染时显示,但当我按 Ctrl+S(保存)时,订单会显示
- c# - Assigning input string value as datamember for example (C#)
- c - FFTW大师界面
- java - assertThat 逐个字段或比较对象
- angular - product.images.GALLERY.map 不是函数 | 斯巴达克斯电信 PDP
- dataframe - 矩阵乘法与 DataFrames (Julia)
- google-apps-script - 如何对包含 Google 表格中的函数的范围进行排序