课程
/后端开发
/Python
/python进阶
def is_not_empty(s): return s and len(s.strip()) > 0
为什么用and而不是if呢?求教:0
2018-09-20
源自:python进阶 2-10
正在回答
首先得分清两个概念,一个是逻辑运算符,另一个是逻辑判断语句。if是逻辑判断语句,而and是逻辑运算符。既然是个返回值肯定不能返回一个逻辑判断语句,只能返回boolean值,所以只能and。关于and就是和的意思,只有and的左边和右边同时成立才能返回true,否侧是false。
and是与运算,if是判断语句,有什么好纠结的
那为什么上面也是and 而不是if呢
filter(f,list),filter根据f返回值,也就是bool(true,false)筛选list重组,也就是保证f的返回值是一个bool而不是其他数据类型。--我自己回答吧。
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计