如果为True,如果为False语句

时间:2013-11-17 23:01:42

标签: python python-2.7

我一直对在if语句中使用True和False感到困惑。例如,假设我已经定义了一个返回True或False的函数。

def isEven(number):
    if number % 2 == 0:
        return True
    else:
        return False

现在我需要在我的一个代码上使用该函数,只有当数字是偶数时才能继续。我相信我看过像if isEven(number): proceed etc etc这样的代码,问题是,默认情况下它是否为True?或者我应该继续使用if isEven(number) == True

4 个答案:

答案 0 :(得分:3)

当你有类似的东西时:

if myboolean : ...

它表示“如果myboolean为true,则执行后续操作”。所以它与:

相同
if myboolean==true : ...

答案 1 :(得分:2)

你应该使用

if isEven(number):
   # proceed

如果isEven没有返回TrueFalse

,它只有不同的含义

例如,123等被视为正确 None0[]等被视为错误

此外,您的功能中具有相同类型的冗余

def isEven(number):
    return number % 2 == 0

同样适用。以下也有效,但不太清楚

def isEven(number):
    return not number % 2

答案 2 :(得分:2)

两种用途完全相同。在

if expr:
    pass

首先评估expr,以便获得

if True:
    pass

if False:
    pass

无论原始expr是什么。

PS:

现在,我总是发现if True: return True模式已经过时了。为什么不直接return True。那就是:

def isEven(number):
    return (number % 2 == 0)

答案 3 :(得分:0)

if isEven(number):
如果isEven返回True

将执行缩进代码

您无需检查 isEven(数字)== True