本記事では、
「Pythonに数学は必要ですか?」
という疑問に対する私の考えと勉強の仕方を述べています。数学を勉強する際の参考にしてください。

Pythonに限らずプログラミングを勉強するなら数学の知識は少なからず必要です。

コンピュータ上の処理は全て計算で行われているため、より高度なプログラミングを目指すためには数学の勉強は避けて通れません。

特に2進数・論理演算・行列などの知識が必須なので必ず勉強をしておきましょう。

本記事の内容は以下の通り。

・Pythonに必要な数学の知識とは?
・Pythonに必要な数学を学ぶ方法

数学は必須ですが、Pythonの勉強と平行して勉強すればOKです。
まずは、簡単なところから始めましょう。

Pythonに必要な数学の知識とは?

Pythonと数学の知識
プログラムを書くだけなら数学の知識がなくても書けます。しかし、Pythonをより深く学ぶためには数学が必要です。

少しずつでもいいので勉強を進めておきましょう。

最低限でも必要なのは以下の通り。

・2進数・16進数
・論理演算
・行列

他にも「統計」や「方程式」なども理解しておいた方がよいですが、まずは上記3つをマスターすればOKです。

2進数・16進数

コンピュータ上の計算は10進数ではなく2進数で行われます。なのでプログラムを書く時も2進数の考え方が重要となります。

しかし、2進数だけで書くと膨大な桁数が必要となるので可読性が下がります。10進数で考える方法もありますが、10進数と2進数では桁が上がるタイミングが大きく異なるので相性はよくありません。

そこで登場するのが16進数です。

16進数は2進数4桁で表現することができます。16進数の桁が上がる時は必ず2進数の桁が上がるので非常に相性がよいです。書く桁数も4分の1になるので数字が非常に見やすくなります。

進数と桁上がりのタイミング

プログラミングの処理を考える上で2進数と16進数は非常に重要なので必ずマスターしておきましょう。

関連記事>>コンピュータを理解するための2進数の基本

論理演算

論理演算は真(1)と偽(0)のどちらかを取る演算です。
1と0で表現する2進数と非常に相性がよいため、コンピュータの演算でも活用されています。

代表的な論理演算は以下の通り。

論理和:2つの値を比較してどちらか片方または両方が1なら真
論理積:2つの値を比較して両方1の時のみ真
排他的論理和:2つの値を比較してどちらか片方が1の時は真(0,0、1,1の場合は偽)

プログラミングにおいては主に条件分岐を理解するために必要な知識です。
条件分岐はプログラミングの要となる知識であるため当然論理演算も重要となります。

最初は難しく感じるかもしれませんが、各4パターン(「0,0」「0,1」「1,0」「1,1」)しかないのですぐに暗記できる内容です。よく使うパターンは「論理和」、「論理積」、「排他的論理和」くらいなのでまずはこの3つを覚えましょう。

参考:論理演算

行列

プログラミングでは「〇〇かつ△△」や「〇〇または△△」のように条件分けすることが非常に多いです。

なので効率的な条件分岐を考える時は行列の知識が必須となります。

行列の知識がないと無駄な条件分岐が増えたり、本来なら必要のない処理を何度も実行したりということが多発します。
性能にも影響するので行列を学び最適な条件分岐を考えるようにしましょう。

Pythonに必要な数学を学ぶ方法

情報処理
「Pythonに数学が必要なのはわかったけどどう勉強すればいいの?」
という疑問を持つ方も多いと思います。

Pythonに必要な数学は情報処理技術者試験で勉強するのがおすすめです。
2進数や論理回路の参考書を買う方法もありますが、最初から数学について深く学ぶ必要はありません。
まずは情報処理技術者試験の参考書から始めればOKです。

情報処理技術者試験とは?

独立行政法人 情報処理推進機構(IPA)が開催している国家試験です。数学だけではなくIT技術者に必要な数多くの知識が詰まった資格であり、多くのIT技術者が受験している資格でもあります。

IT技術者になるために必須の資格ではありませんが、業務で活用できる知識も非常に多いです。

まずは「ITパスポート」か「基本情報処理技術者」の勉強をしましょう。

IPAの公式サイト>>情報処理技術者試験・情報処理安全確保支援士試験

情報処理技術者試験を活用した数学の勉強方法

過去問を解きつつ勉強しましょう。
過去問題はIPAの公式サイトからダウンロード可能ですが、ただ過去問題を解くよりも参考書を購入して勉強するのがおすすめです。

おすすめ参考書は以下です。

また、ネットで勉強する場合は過去問道場というサイトがあるのでこちらも活用しましょう。

数学を重点的に勉強してもよいですが、せっかくなので他の分野も解いておくとよいです。

具体的な勉強方法は「基本情報処理技術者(FE)の対策まとめ」にまとめているのでご活用ください。

数学の勉強はPythonの勉強と並行でOK

「数学をがっつり勉強してからプログラミングを始めた方がいいの?」
という疑問を持つ方もいると思いますが、数学の勉強はPythonの勉強と並行でOKです。

数学なしでも実践できることは多くありますし、数学を学ぶのに時間を使っているといつまで経ってもPythonの勉強に入れません。

まずはPythonの基礎について勉強して実践してみましょう。

Pythonの始め方は「Pythonプログラミングの始め方まとめ」にまとめています。

Pythonの基礎についてざっくりと理解できたら数学の勉強も進めましょう。

終わりに

プログラムを書くだけなら数学の知識はいりませんが、より高度なプログラミングを目指すなら数学の知識は必須です。

最低限でも必要なのは以下の3つです。

・2進数・16進数
・論理演算
・行列

もちろん他の数学の知識もあった方がよいので上記3つが一区切りついたら続けて勉強しましょう。
Pythonに必要な数学の知識は情報処理技術者試験を勉強すれば一通り学べます。

まずは「基本情報処理技術者試験」から勉強を始めましょう。

関連記事>>基本情報処理技術者(FE)の対策まとめ