课程
/后端开发
/Python
/python进阶
def is_not_empty(s): return s and len(s.strip()) > 0
def is_not_empty(s):
return s and len(s.strip()) > 0
为什么不直接用
return len(s.strip())
?
2016-04-05
源自:python进阶 2-10
正在回答
开始我也有这个疑惑,直到我用了
然后报错,,,None是没有strip和len方法的
AttributeError: 'NoneType' object has no attribute 'strip'
加上and之后,就会先判断s的存在,如果s是None那就不用往下执行了,直接返回None
s and len(s.strip()) > 0
慕盖茨3698359
这样返回去的是一个数据 的长度,而这个语句需要在filter做判断条件的。
是的,因为前面还有一个高阶函数——filter()函数,是 Python 内置的另一个有用的高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。
辣椒红烧肉3140712
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计