如果在python中,我们可以用else代替elif吗? 以下是否相等?
somePromise
vs:
if (x>y):
print("X")
else: if (x<y):
print("Y")
答案 0 :(得分:3)
给出else: if (x<y):
是SyntaxError
,答案是否定的。您可以在一个if
块中嵌套一个else
,但是为什么elif
(具有实际条件,您忘记了)可以避免不必要的嵌套呢?
答案 1 :(得分:3)
假设无效语法是一个错字,则elif
与带有嵌套else
的{{1}}语句相比,缩进是最大的好处。每次进入嵌套if
时,都需要再次缩进,这会破坏可读性。另一方面,通过使用if
,您可以使所有不同的代码路径都具有相同的缩进级别。
这里是一个例子。
elif
如您所见,这有点令人困惑。这是基于if a:
A()
else:
if b:
B()
else:
if c:
C()
的示例。
elif
答案 2 :(得分:1)
是的,它们是相同的,但是正确的写法是第二种。
答案 3 :(得分:0)
后者是使用if / elif语句的pythonic方式。
嵌套,越少越好!