if statement1:
if statement2:
if statement3:
return desired_action
else:
return action3
else:
return action2
else:
return action1
vs:2.
if not statement1:
return action1
elif not statement2:
return action2
elif not statement3:
return action3
else:
return desired_action
我倾向于选择第二种方式,但出于某种原因,它似乎有点。。有风险的或者与第一种方法一样不可靠。
还有,我真的需要那个elif吗?当我达到某个if时,我会返回。非常感谢。
有惯例或标准吗?
根据德摩根定律,这是等价的:NOT (A AND B) = (NOT A) OR (NOT B)
。
如果只想执行一个备选操作,则需要elif
。如果没有它们(假设所有条件都为False(,您将触发每一个备选操作。
关于选择两个代码中的哪一个有点主观。第二个更吸引人,我倾向于选择这个。
注意。你对第二个块的缩进不正确,我修复了它