if..elif
语句是否与一个OR语句完全相同?
例如,在if..elif
下方:
if X == "a":
Y = 1
elif Z == "b" and V = "c":
Y = 1
作为
if X == "a" or (Z == "b" and V == "c"):
Y = 1
答案 0 :(得分:2)
是的,在您的具体情况下,功能是相同的。如果您要根据执行到if
的条件执行两个不同的事件,则可以使用elif
/ True
语句。例如,
if a == 'a':
y = 1
elif z == 'b' and v == 'c':
y = 2
但是,因为在这两种情况下你都在进行Y = 1
,然后是
if x == 'a' or (z == 'b' and v == 'c'):
y = 1
效果很好甚至更合适。
答案 1 :(得分:1)
代码中的效果是一样的。但是它的工作方式不一样。 or
语句查看这两个语句,如果至少有一个语句为真,则返回True
。另一方面,if
... elif
语句只会进入其中一个条件。要么只进入if
语句,要么只进入elif
语句。