为了账号安全,请及时绑定邮箱和手机立即绑定

为什么用and而不是if呢? return s and len(s.strip()) > 0

def is_not_empty(s):
    return s and len(s.strip()) > 0

为什么用and而不是if呢?求教:0

正在回答

5 回答

首先得分清两个概念,一个是逻辑运算符,另一个是逻辑判断语句。if是逻辑判断语句,而and是逻辑运算符。既然是个返回值肯定不能返回一个逻辑判断语句,只能返回boolean值,所以只能and。关于and就是和的意思,只有and的左边和右边同时成立才能返回true,否侧是false。

4 回复 有任何疑惑可以回复我~
1. s为None或空字符串时,return s,即return False。2. 否则return len(s.strip())>0。3. s为空白字符时,len(s.strip())==0,return False。4. s除去首尾空白字符不为空字符串时,len(s.strip())>0,return True。5. return True时,filter()函数保留,return False时,filter()函数丢弃。
2 回复 有任何疑惑可以回复我~

and是与运算,if是判断语句,有什么好纠结的

0 回复 有任何疑惑可以回复我~

那为什么上面也是and 而不是if呢

0 回复 有任何疑惑可以回复我~

filter(f,list),filter根据f返回值,也就是bool(true,false)筛选list重组,也就是保证f的返回值是一个bool而不是其他数据类型。--我自己回答吧。

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255665    人
  • 解答问题       2949    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

为什么用and而不是if呢? return s and len(s.strip()) > 0

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信