處理布林表達式時,常常會遇到這樣的程式碼:
u = [] if not u.append(6): # Do something...
但是為什麼 list.append 在布林上下文中計算結果是 False?這是由於有意的設計決定,還是只是 C 約定的結果?
大多數就地修改容器的 Python 方法都傳回 None,遵循命令原則 -查詢分離。根據此原則,修改資料的方法不應傳回任何值,因為它們的主要目的是改變物件的狀態。這種方法有助於在檢索資料的操作和更改資料的操作之間保持明確的區別。
在 list.append 的情況下,它將一個元素附加到列表的末尾,並在此過程中對其進行更改。因此,它遵循傳回 None 的約定,表示它已成功將元素新增至清單。然而,在布林上下文中,None 被認為是 False,因此上述程式碼片段會出現意外的結果。
以上是為什麼「list.append()」在布林上下文中回傳「False」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!