python - 在Python中处理大量查询参数

标签 python design-patterns

我们有一个 API,它消耗大约 50 到 100 个查询参数。目前,处理程序获取所有参数并将它们设置为 Meta 对象中的属性。像这样的事情

meta = Meta()
meta.param1 = param.get('param1', 'somedefault')
meta.param2 = param.get('param2', 'someotherdefault')

等等。我的问题是,有没有更好的方法来处理这个问题,而不仅仅是处理程序中的一长串分配列表?我目前的想法是将其分解为辅助函数。

meta = self.get_meta(param)

还有其他想法吗?

(更新了我的示例)

最佳答案

PARAMETERS = [
    'param1',
    'param2',
    # ...
]

meta = Meta()
for name in PARAMETERS:
    setattr(meta, name, param[name])

根据您的评论...

DEFAULTS = {
    'param1': 1,
    'param2': 'something',
}
meta = Meta()
for name, value in DEFAULTS.items():
    setattr(meta, name, param.get(name, value))

关于python - 在Python中处理大量查询参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13327807/

相关文章:

python - 如何将经过验证的号码添加到 sinch 沙箱

python快照程序错误

python - 查找列中字符串的精确正则表达式匹配

python - 将大数字存储在列表中会更好吗?

python - Flask-SQLAlchemy 连接 3 个模型和一个表结构

c# - 返回复杂对象或使用引用/输出参数是更好的做法吗?

具有相同数据结构的 C++ 类

java - 是否有设计模式来强制初始化子类实现的方法?

c++ - 使用指向非静态成员函数的指针实现回调

design-patterns - 接口(interface)的要点