首页 > 解决方案 > 函数返回值 if in DB else Continue

问题描述

我需要编写一个接受查询的函数,检查数据库中是否存在与查询匹配的值,如果存在,则需要返回数据库中的值,否则,我需要通过一些计算来获取该值,这是我当前的代码:

def get_query(*args):
    try:
        return self.from_db(*args)
    except IndexError:
        pass
        
    # Some calculations to get that value
    self._to_db(value, *args)
    return value

def from_db(*args):
    # Connects to DB and searches for query
    if query:
        return query
    else:
        raise IndexError

这段代码的逻辑有效,但我不知道是否还有其他更pythonic和更有效的方法来完成这个。另外我很好奇如何改进from_db代码的一部分,我想提出一个异常而不是使用条件,以防万一查询存在所以它不必计算条件,关于如何的任何想法或建议改进这段代码?

标签: pythonpython-3.xdatabase-design

解决方案


推荐阅读