Pythonic方式编写级联if语句

时间:2016-02-26 11:35:58

标签: python if-statement

是否有更多Pythonic方式来编写以下函数?

def foo():
    flag = False
    if condition1:
        if condition2:
            flag = True
    return flag

5 个答案:

答案 0 :(得分:5)

你走了:

def foo():
    return bool(condition1 and condition2)

答案 1 :(得分:4)

你可以简化它,如下所示:

def foo:
   return condition1 and condition2

请注意,变量标志没有在任何地方使用,因此在这种情况下删除它是完全正确的。

答案 2 :(得分:4)

如果您要查找的功能只能返回TrueFalse中的一个,那么您可以这样简化:

def foo():
    return bool(condition1 and condition2)

这会复制完全您的代码。

答案 3 :(得分:2)

甚至更容易:

def foo(): 
    return condition1 and condition2

答案 4 :(得分:1)

您可以像这样简化:

def foo:
    if condition1 and condition2:
        return True
    else:
        return False