return s and len(s.strip()) > 0
该代码中 s >0是什么意思。
保证s不是空不应该是 len(s)>0么
该代码中 s >0是什么意思。
保证s不是空不应该是 len(s)>0么
2016-10-23
首先要说的是题主断句有误,应该这样看: s and len(s.strip())> 0,是两个部分。这是一个逻辑与判断语句,根据短路运算法则,and 操作符需要判断前后2个表达式的结果,a and b,如果a 是 False, 不用计算b,直接返回False,如果a 是True, 返回b;下面是我的理解,先求s代表的布尔值,python语言中 空字符,0以及None逻辑结果都是False,如果s是'',那整个and运算符直接为False,不用求后面的表达式,如果s不是一个完全没有任何字符的,那就进行第二部检查,s.strip()是删除s字符串开始结尾处的空白符,包括'\n','\r','\t',防止是空白字符为认为是有意义的字符串,len(s.strip()) > 0这句就不解释了吧。
举报