コース01-Python

013.ブールと条件(Booleans and Conditionals)[Kaggle日本語訳]

  • LINEで送る

942 views

     

ブール

 Pythonには、ブールと呼ばれるタイプの変数があります。 これには、TrueとFalseの2つの値があります。

 コードにTrueまたはFalseを直接入力するのではなく、通常、ブール演算子からブール値を取得します。 これらは、はい/いいえの質問に答えるオペレーターです。 以下では、これらの演算子のいくつかについて説明します。

比較演算

 比較は期待どおりに機能することが多い

 しかし時々それらはトリッキーになることができます

 比較演算子は、これまでに見た算術演算子と組み合わせることができ、事実上無限の数学的テストを表現できます。 たとえば、2の係数が1を返すことを確認することで、数値が奇数かどうかを確認できます。

 比較を行うときは、=の代わりに==を使用することを忘れないでください。 n == 2と書けば、nの値について尋ねることになります。 n = 2を書き込むと、nの値が変更されます。

ブール値を組み合わせる

 「and」、「or」、「not」の標準的な概念を使用してブール値を組み合わせることができます。 実際、これを行うための言葉は、and、or、notです。

 これらにより、can_run_for_president関数をより正確にすることができます。

 簡単に、この表現の価値を推測できますか?

 (「出力」ボタンをクリックして答えを確認してください)

 これに答えるには、操作の順序を理解する必要があります。

 たとえば、andの前に評価されます。 これが、上記の最初の式がTrueである理由です。 左から右に評価した場合、最初にTrueまたはTrue(True)を計算し、その結果のandをFalseで取得して、最終的な値をFalseにします。

 優先順位を覚えるようにすることもできますが、より安全な方法は、大括弧を使用することです。 これはバグの防止に役立つだけでなく、コードを読んだ人に意図を明確に伝えます。

 たとえば、次の式について考えます。

 私は今日の天気から安全だと言っています…。

  • 傘があれば…
  • または雨があまり強くなくて、フードがあるなら…
  • それ以外の場合は、雨が降っていて就業日でない限り、私はまだ元気です

 しかし、私のPythonコードは読みにくいだけでなく、バグもあります。 括弧を追加することで、両方の問題に対処できます。

 読みやすさに役立つと思われる場合は、さらに括弧を追加できます。

 上記の3部構成を強調するために、複数行に分割することもできます。

条件付き

 ブール値は、if、elifなどのキーワードを使用して、条件ステートメントと組み合わせると最も効果的です。

 if-thenステートメントと呼ばれることの多い条件付きステートメントを使用すると、ブール条件の値に基づいて、実行するコードを制御できます。 次に例を示します。

 ifおよびelseキーワードは他の言語でよく使用されます。 そのよりユニークなキーワードは、「else if」の短縮形であるelifです。 これらの条件節では、elifおよびelseブロックはオプションです。 さらに、必要な数のelifステートメントを含めることができます。

 特にコロン(:)と空白を使用して、コードの個別のブロックを示すことに注意してください。 これは、関数を定義したときに起こることに似ています-関数のヘッダーが:で終わり、次の行は4つのスペースでインデントされています。 後続のすべてのインデントされた行は、インデントされていない行に出会い、関数定義を終了するまで、関数の本体に属します。

ブール変換

 物事をintに変換するint()と物事をfloatに変換するfloat()を見てきましたので、Pythonが物事をboolに変換するbool()関数を持っていると聞いて驚くことはないでしょう。

 ブール値が期待されるif条件やその他の場所で、ブール値以外のオブジェクトを使用できます。 Pythonは暗黙的にそれらを対応するブール値として扱います。

  • LINEで送る