

Pythonを学びたいと思っている方に非常におすすめな学習方法があります。それは、KaggleのCoursesです。特徴としては、以下のものがあります。
- 無料
- 面倒な環境設定なく
- 解説付きで
- 体系的に学習できる
これは、活用しないわけにはいかないですよね。ただ、このKaggleのCoursesは、英語で書かれています。なので、英語が苦手な初学者にはハードルが高いと感じるかもしれません。なので、日本語でコードの解説をしていきます。
まずは、以下の記事を参考に、KaggleのCoursesで独学する方法を解説しています。
Kaggle Courses|Pythonを無料で独学できる超簡単な方法
今回は、KaggleのCoursesの各論として、Python偏の「Booleans and Conditionals」の「tutorial」を解説していきます。
Booleans and Conditionals (tutorial)
チュートリアルでは、コードの解説だけなので、コードの実行はできません。まずは、解説を参考に、コードの理解を深めていきましょう。
printやabsなどの関数はすでに見たり使ったりしたことがあると思います。しかし、Pythonにはもっと多くの関数があり、自分で関数を作ることも多いはずです。
今回のレッスンでは、関数の使用と定義について詳しく学びます。
Booleans(ブール変数:真偽値)
Pythonには、boolという種類の変数があります。これは2つの値を持ちます。真(True)と偽(False)です
コードに直接TrueやFalseを記述するのではなく、通常はブール演算子からブール値を取得します。演算子とは、はい(真:True)、いいえ(偽:False)の質問に答えるためのものです。以下では、これらの演算子をいくつか紹介します。
Comparison Operations(比較演算子)
コード | 意味 | コード | 意味 |
---|---|---|---|
a == b |
a と b が同じ |
a != b |
a と b は同じでない |
a < b |
b は a より大きい |
a > b |
b は a より小さい |
a <= b |
b は a 以上 |
a >= b |
b は a 以下 |
以下のコードは比較演算子の例題として設けられています。
このように、比較を思い通りにすることができる
時には上手くいかない場合があります。数値か文字かの違いによって間違いが起こります。
比較演算子は、これまで見てきた算術演算子と組み合わせることで、事実上、無限の数学的テストを表現することができます。例えば、ある数字が奇数かどうかを調べるには、2での剰余が1を返すかどうかを調べます。
比較をするときは、「=」ではなく「==」を使うことを忘れないでください。n == 2 と書いた場合、nの値を尋ねています。n = 2 と書いた場合は、nの値を2に変更していることになります。
Combining Boolean Values(ブール値の組み合わせ)
ブール値を組み合わせるには、「and」、「or」、「not」という標準的な概念を使用します。実際、このための言葉は「and, or, and not」です。
これらを使うことで、can_run_for_president関数をより正確にすることができます。
早速ですが、この式の値を当てられますか?
( Show hidde output ボタンをクリックすると答えが表示されます )
これに答えるには、演算の順序を把握する必要があります。
例えば、and は or の前に判断されます。そのため、上の最初の式は True になります。もし、左から右に評価した場合、最初に True か True を計算し(これが True )、その結果と False の and を取り、最終的な値は False になります。
優先順位を暗記することもできますが、より安全な方法は、自由な括弧()を使うことです。これはバグを防ぐだけでなく、コードを読む人にあなたの意図を明確に伝えることができます。
例えば、次のような式を考えてみましょう。
今日の天気は大丈夫だと言いたいのです….
- 傘を持っていれば…
- あるいは、雨が強くなくてフードがあれば…
- そうでなければ、雨が降っていても、仕事の日でなければ大丈夫です。
しかし、私のPythonコードは読みにくいだけでなく、バグがあります。括弧を追加することで、両方の問題に対処できます。
読みやすさを考慮して、さらに括弧()を増やしても構いません。
また、複数のラインに分割して、先ほどの3パート構成を強調することもできます。
Conditionals(条件文)
ブール値は、キーワード if、elif、else を使った条件文と組み合わせると最も便利です。
条件文は if-then文とも呼ばれ、ブール値に基づいてどのコードを実行するかを制御することができます。以下にその例を示します。
if や else のキーワードは他の言語でもよく使われていますが、よりユニークなキーワードは elif で、「else if」の短縮形です。これらの条件節では、elif および else ブロックは任意であり、さらに、好きなだけ elif 文を含めることができます。
また、elif 文はいくつでも記述することができます。特に、コロン(:)と空白でコードのブロックを表しています。これは、関数を定義するときと同じで、関数のヘッダーは:で終わり、次の行は4つのスペースでインデントされています。それ以降のインデントされた行はすべて関数の本体に属し、インデントされていない行が出てきて関数定義が終了します。
Boolean conversion(ブール変換)
物事を整数に変換する int()や、浮動小数点数に変換する float()を見てきましたが、Pythonには物事を bool に変換する bool()関数があることを聞いても驚かないかもしれません。
non-boolean オブジェクトは、if 条件やその他 boolean が期待される場所で使用できます。Pythonは暗黙のうちにそれらを対応するブール値として扱います。
あなたがコードを書く番です!
皆さんは、自分がこれまでにどれだけのことを学んできたか気づいていないでしょう。実際にコーディングをしてみると、自分のできることの多さに驚かされるはずです。

コメント