Python里面else为什么会覆盖掉if?

Python013

Python里面else为什么会覆盖掉if?,第1张

python中的if-else是条件分支,不会进行覆盖的。

原则上就是进行判断,如果不满足if的条件,才会执行到else里面的逻辑

而python支持多条件分支。if-elif-else,只有if和elif的条件都不满足才会走到else的逻辑内。

if i==1:

print i

elif i==2:

print i-2

else:

print "else"

if可以不带else,但这是由逻辑需求决定的。

比如这里,如果你的逻辑是当price小于等于2时输出1、2,其它则输出3,就必须带else。

否则,像你的代码,当price小于等于2时,就会输出:

1

2

3

而这是不符合假设的逻辑需求的。

所以,这里就必须带else。

你的函数调用时,传入的参数列表既包含一级数值元素,又包含二级、三级列表;

你的IF语句用于输出一级数值元素,ELSE语句用于输出二级、三级列表元素;

如果传入列表里只包含一级数值元素,则可以去掉函数定义中的ELSE语句部分。