问题描述
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
1楼
是的,在您的特定情况下,功能是相同的。
如果您要根据执行为True
的条件做两件不同的事情,您将使用if
/ elif
语句。
例如,
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
效果很好,甚至更合适。
2楼
您的代码中的效果是相同的。
但它的工作方式不同。
or
语句查看两个语句,如果至少有一个语句为真,则返回True
。
另一方面, if
... elif
语句只会进入其中一个条件。
要么只进入if
语句,要么只进入elif
语句。