課程
/后端開發
/Python
/python進階
return?s?and?len(s.strip())?>?0
2019-08-21
源自:python進階 2-6
正在回答
此處把s用作邏輯“與”運算,與運算兩邊的表達式都是布爾類型,True或者False,在python里面如果s是整數0,空值None,空字符串'',空集合( )都會被判定為False。單單一個len(s.strip())>0只能用于判斷是否空字符串'',但0、空值none、空集合( )都用不了s.strip(),所以,將s放在and前面可以先過濾,當s是整數0,空值None,空字符串'',空集合( )時判定為False,那么and運算這時就“短路”直接返回False,當s是'? ? '這種字符串時,s判定為True,就需要后面的strip()函數去除空格后長度>0來判定了。
慕的地1327590 提問者
這樣一講就懂了??
單單一個len(s.strip())>0只能用于判斷是否空字符串'',但0、空值none、空集合()用不了strip(),只能用s and來判斷
舉報
學習函數式、模塊和面向對象編程,掌握Python高級程序設計
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-08-21
此處把s用作邏輯“與”運算,與運算兩邊的表達式都是布爾類型,True或者False,在python里面如果s是整數0,空值None,空字符串'',空集合( )都會被判定為False。
單單一個len(s.strip())>0只能用于判斷是否空字符串'',但0、空值none、空集合( )都用不了s.strip(),所以,將s放在and前面可以先過濾,當s是整數0,空值None,空字符串'',空集合( )時判定為False,那么and運算這時就“短路”直接返回False,當s是'? ? '這種字符串時,s判定為True,就需要后面的strip()函數去除空格后長度>0來判定了。
2019-08-30
這樣一講就懂了??
2019-08-21
單單一個len(s.strip())>0只能用于判斷是否空字符串'',但0、空值none、空集合()用不了strip(),只能用s and來判斷