否则,如果在Python中使用vs elif,它们是否相等?

时间:2020-05-12 14:38:34

标签: python python-3.x if-statement

如果在python中,我们可以用else代替elif吗? 以下是否相等?

somePromise

vs:

if (x>y):
    print("X")
else: if (x<y):
    print("Y")

4 个答案:

答案 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方式。

嵌套,越少越好!

相关问题