ブール式を扱うとき、次のようなコードに遭遇することは珍しくありません。
u = [] if not u.append(6): # Do something...
しかし、なぜ list.append はブール値コンテキストで False と評価されるのでしょうか?それは意図的な設計上の決定によるものですか、それとも単に C の規約の結果ですか?
コンテナをその場で変更するほとんどの Python メソッドは、コマンドの原則に従い、None を返します。クエリの分離。この原則によれば、データを変更するメソッドは、オブジェクトの状態を変更することが主な目的であるため、値を返してはなりません。このアプローチは、データを取得する操作とデータを変更する操作を明確に区別するのに役立ちます。
list.append の場合、要素をリストの末尾に追加し、プロセス内で要素を変更します。したがって、要素がリストに正常に追加されたことを示すために None を返すという規則に従います。ただし、ブール値のコンテキストでは、None は False とみなされ、そのため、前述のコード スニペットの予期しない結果が生じます。
以上がブール値コンテキストで「list.append()」が「False」を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。