我一直对在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
答案 0 :(得分:3)
当你有类似的东西时:
if myboolean : ...
它表示“如果myboolean为true,则执行后续操作”。所以它与:
相同if myboolean==true : ...
答案 1 :(得分:2)
你应该使用
if isEven(number):
# proceed
如果isEven没有返回True
或False
例如,1
,2
,3
等被视为正确
None
,0
,[]
等被视为错误
此外,您的功能中具有相同类型的冗余
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