2022年3月7日InPythonPython初心者・入門者に向けた解説シリーズ(?)ですが、今回はTrueまたはFalseというものについての解説です。False:」と書かれているコードの解説も行います。False:」のメリット。pass文との比較PythonにおけるTrue/Falseとは?PythonのTrue・Falseがもつ2つの意味Pythonにおいて、TrueとFalseには次の2つの意味があります。真理判定の結果としてのブール値bool型のオブジェクト以下順番にみていきましょう。真理判定の結果としてのブール値ここでいう真理判定とは、真偽の判定のことです。Pythonでは真偽判定とは言わないようなので(公式ドキュメントには『真理』という用語が用いられれている)、真理判定という言葉にしています。真理判定の結果は必ずTrueかFalseになります。プログラミングにおけるこの「真理値としてTrueまたはFalse」の意味は、日常生活でいうところの「正しいか間違っているか」、「本物か偽物か」といったものとは少し異なる意味なので注意したいですね。Pythonではどんなオブジェクトでも真理の判定が可能です。その判定の結果として、ブール値(bool、正式名はboolean、読みは『ブーリアン』)が返ってきます。a=2bool(a)こうすると、「True」というブール値を出す結果になります。#空のリストbool(b)この場合は、「False」というブール値になります。オブジェクトがどのようなものかで、このように真理値が異なります。Pythonのオブジェクトは、bool()関数によって基本的にはTrueを返しますが、例外的にFalseというブール値を返すものがあります。返す場合は偽と判定されます。range(0)と書かれています。#空のリストbool(b)が、Falseというブール値を表示したのは、空のリストは「空のシーケンス」に該当するからですね。以上のような真理判定の結果としてのブール値という意味だけでなく、PythonではTrue・Falseはオブジェクトの1つでもあります。Pythonでは全てがオブジェクトになっているからです。普通、Pythonでは、a=2bool(a)といったように、変数を宣言して、その変数に何かを代入してオブジェクトを作成します。このTrue・FalseについてはPythonで最初から何もしなくても利用できるオブジェクトとして用意されています。次のコードを見て下さい。Falsebool(False)1行目のFalseには代入も何もしていません。それでもbool関数で引数としていきなり使うことができています。Trueについても同じです。特別なオブジェクトと考えていいでしょう。True・Falseはオブジェクトですから、当然に型を持ちます。type(False)type(True)どちらも結果として、boolと表示されます。ブール型だとわかります。それらはオブジェクトであるため、bool()によってその真理値を得られます。bool(False)bool(True)みなさんの想像どおり、それぞれFalse、Trueと表示されます。それでは、次にこのbool()による真理判定の結果を利用して、if文と組み合わせたコードを見ていきましょう。False:」の解説ではここまでの説明を踏まえて、簡単なコードとして次のようなif文の条件式にFalseを使ったものを見てみてみましょう。False:の部分ですが、Falseという条件式が評価されます。このFalseの式は上述のように、bool(False)で真理を判定すると「Falseという真理値」を返す結果になるので、False式を評価した結果はFalseです。ところが、if文は条件式が評価された結果、Trueという真理値になる場合に実行されるというルールです。よって今回はif節の処理は実行されません。かわりに、else節の処理が実行されます。したがって、1が表示されます。else」というif文とTrue/Falseとを組み合わせた4パターンの結果をまとめて見ました。False:」とした場合はif節の処理がスルーされていることがわかります。False:」のメリット。False:」と指定しておけば、else節の処理がどのように動作するかチェックできるという利点があると思います。一方で「if節の処理を飛ばす・スルーする」という目的では、pass文を使って次のように書くことも考えられます。print(1)しかし、こうしてしまうと、Trueの評価結果はTrueのためpass文が実行されます。その結果、else節の処理が行われません。このコードは何も表示されません。False:」を使ったものとpass文を使ったものとに違いが出てきます。今回の記事に関連する記事として、「【Pythonの基本文法】while文は例外発生で中止される。1:」とは?」もご覧ください。Pythonの関数の引数の種類について。関連投稿Pythonの抽象基底クラス(ABC)の基本を解説。