1.Python中,if与elif有何区别
一、主体不同
1、if:用来判定所给定的条件是否满足,根据判定的结果决定执行给出的两种操作之一。
2、elif:在判定条件不满足的情况下,需要执行的操作。
二、特点不同
1、if:有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于>;(大于)、<;(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。
2、elif:判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。
三、优势不同
1、if:语句中的“表达式”可以是关系表达式、逻辑表达式,甚至是数值表达式。其中最直观、最容易理解的是关系表达式。
2、elif: python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现。
参考资料来源:百度百科-if语句
参考资料来源:百度百科-#elif
2.python if 多条件判断怎么快
将简单的条件写在前面罗。
if i>3 and sqrt(i)==int(sqrt(i)):
if 的表达式如果可以拆分为多个以and/or子表达式,会按顺序进行计算,and连接的情况下,得到一个False即不计算后面的表达式了,or连接的情况下,得到一个True就不计算后面的了。所以这可以提高一点速度。
在不能确定各个子表达式的计算时间时,按上面说的,将命中率高的写在前面,比如一个if需要判断条件a and b,其中a有80%可能是True,b有60%为True,那么,写成if b and a会快一点。
一般来说,这些对整体的执行速度影响不大,更多的还是在算法,流程,结构方面的优化提升更大。
3.python的if后面直接跟字符串或数字代表什么意思
if 后面跟的是条件表达式,条件表达式的结果为True或者False。
(1)如果if后面的条件是数字,只要这个数字不是0,python都会把它当做True处理,见下面的例子:
if 3:
print 'OK'输出OK,但是如果数字是0,就会被认为是False。
(2)如果if后面跟的是字符串,则只要这个字符串不为空串,python就把它看作True,参见下例
if 'hehe':
print 'No problem'No problem 就会被输出。
转载请注明出处代码入门网 » python表达式if