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

返回语句中为什么一定要用s and len(s.strip()),这里的and是什么作用

https://img1.sycdn.imooc.com//5d0467940001bdb603650096.jpg

返回语句中 and 换成 if 为什么是不对的

正在回答

6 回答

and 是与运算,两边都为真,才返回真

而这里s and len(s.strip())>0

其中先看 s 本身是否为真,

再看 len(s.strip())>0 ,也就是去掉 s 中的空白符(包括'\n', '\r', '\t', ' ')后,看是否为真

此时,两边都为真的情况下,才说明这个s是真


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

这个地方运用了and短路的特性,如果说s是none使用strip的话会发生错误,而通过短路空字符串被当作false,就不会执行strip产生错误


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

这里需要同时达到 and 前后的两个条件都为真  返回的预算结果才为Ture  。filter() 的第一个参数为Ture 的时候才会保留数值,为False 的时候不生效

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

这里需要一个返回值,你返回了一个语句

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

filter()第一个参数是写一个函数返回true和false的功能,是false才过滤掉 你写成if返回值不对

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

and不出意外的话就是“与”,既要满足前面s不为none,又要满足后面不为空格

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

举报

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

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

进入课程

返回语句中为什么一定要用s and len(s.strip()),这里的and是什么作用

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