Python 寻找一种编写具有多种可能性的if结构的好方法

Python 寻找一种编写具有多种可能性的if结构的好方法,python,Python,我使用if语句从数据库中检索一些内容。但它有多个条件,我目前的实现是可行的,但我正在寻找更好的选择 data = get(col1=a, col2=b, col3=c ) if not data: #fall to 2nd option data = get(col1=a, col2=b ) if not data: #fall to 3rd option data

我使用if语句从数据库中检索一些内容。但它有多个条件,我目前的实现是可行的,但我正在寻找更好的选择

data = get(col1=a,
           col2=b,
           col3=c
           )

if not data:
#fall to 2nd option
    data = get(col1=a,
           col2=b
            )

if not data:
#fall to 3rd option
    data = get(col1=a,
           col3=c
            )

if not data:
#fallback to 4th option
    data = get(col1=a
            )

get函数具有从mysql数据库检索行的代码。python中有没有更好的方法来实现这一点?

这更简洁,您可以轻松地向其中添加新的案例:

args = [dict(col1=a,col2=b,col3=c),
        dict(col1=a,col2=b),
        dict(col1=a,col3=c),
        dict(col1=a)]
for arg_dict in args:
    data = get( **arg_dict )
    if data:
        break