如果.else作为OR工作,它是真的吗?

时间:2015-10-24 11:26:17

标签: python if-statement

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

2 个答案:

答案 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语句。