给定这样的代码:
if f(a) == 1:
# do sth A
elif f(a) == 2:
# do sth B
elif f(a) == 3:
# do sth C
else:
# do sth D
表达式是否f(a)
只执行/评估一次?if
还是针对or的每种情况执行/评估它elif
?此外,复合语句是否有任何区别:例如
if f(a) == 1:
# do sth A
elif f(a) == 2 and a > 0:
# do sth B
elif f(a) == 3 and a < 0:
# do sth C
else:
# do sth D
在这种情况下,如何f(a)
评估?一次全部或单独为每个案例?