否则,如果在python中vs elif,它们是否相等?
在python中,我们可以用else替换elif吗? 下列各项是否相等否则,如果在python中vs elif,它们是否相等?,python,python-3.x,if-statement,Python,Python 3.x,If Statement,在python中,我们可以用else替换elif吗? 下列各项是否相等 if (x>y): print("X") else: if (x<y): print("Y") 是的,它们是相同的,但正确的书写方式是第二种。后者是使用if/elif语句的python方式 筑巢,越少越好 给定否则:如果(x假设无效语法是一个输入错误,elif与嵌套if的else语句相比,最大的好处是缩进。每次进入嵌套的if时,都需要再次缩进,这将破坏可读性。另一方面,使用elif可以获得所有的
if (x>y):
print("X")
else: if (x<y):
print("Y")
是的,它们是相同的,但正确的书写方式是第二种。后者是使用if/elif语句的python方式
筑巢,越少越好 给定
否则:如果(x假设无效语法是一个输入错误,elif
与嵌套if
的else
语句相比,最大的好处是缩进。每次进入嵌套的if
时,都需要再次缩进,这将破坏可读性。另一方面,使用elif
可以获得所有的缩进他在同一缩进级别上创建了不同的代码路径
这里有一个例子
if a:
A()
else:
if b:
B()
else:
if c:
C()
如您所见,这有点令人困惑。下面是基于elif
的示例
if a:
A()
elif b:
B()
elif c:
C()
好吧,第一个是无效语法…@deceze第二个也是如此。elif
没有条件。问问自己:如果x==y
,会发生什么情况?(假设你按照我认为的方式更正了代码)@Matthias假设OP修正了第一个例子的缩进和第二个例子的elif x
,它们的行为是相同的,它们在=
情况下可能和预期的不一样……我认为第二个例子应该有一个else
,第一个例子是嵌套的if
询问者肇事逃逸,我们永远不会知道。
if a:
A()
elif b:
B()
elif c:
C()