こんにちは!CryptoGamesというブロックチェーンゲーム企業でエンジニアをしているかるでねです!
スマートコントラクトを書いたり、フロントエンド・バックエンド・インフラと幅広く触れています。
このブログ以外でも情報発信しているので、よければ他の記事も見ていってください。
https://mirror.xyz/0xcE77b9fCd390847627c84359fC1Bc02fC78f0e58
今回は初学者がPythonを学習する際におすすめの本を紹介していきます。
僕自身2020年1月からPythonを使っていて、その経験をもとに紹介していくので参考になると思います。
「Python学習してみたいけど、どの本がおすすめなんだろう」
「このPythonの本気になってたんだけど実際のところどうなんだろう?」
「Amazonのレビューなどをみても一長一短で結局どれがいいのかわからない」
「プログラミングを学ぶ手順がわからない...」
このように悩んでいる人の参考になれば幸いです。
また、後半ではプログラミングを学習する手順を紹介しているのでそこも参考になれば嬉しいです!
前置きは早々に早速本題に入っていきましょう!
Python初学者におすすめの動画講座とおすすめのUdemy講座はこちら。
どんな本がおすすめ?
「おすすめの本だけおしえてくれ!」という方はこの章を飛ばしてください!
Pythonの本はめちゃくちゃたくさんあるので、どの本を買えば良いか悩んでしまうと思います。
比較的新しい本の中から選んでしまいがちですが、意外と少し前の本がおすすめだったりもします。
結論を先に言ってしまうと「わかりやすい本」です。
実際どの本も書いてある内容に大差はありません。
では何が違うのか?
もちろんより詳しいことが書いてあるのかなどの違いはありますが、一番は
いかにわかりやすく書いてあるか
です。
僕も含めPython初学者あるあるは「とにかく分厚い本を買っておけばいいだろう」です。
「分厚い本を買っておけば情報の抜け漏れがないから良いはず」
この考えは危険です。
確かに分厚い本を買うのも良いですが、初学者はまずわかりやすい本を買うべきです。
まずは1冊薄くてもわかりやすい本を買って、基礎的なことを理解してから次により詳しく書かれている本を買うのが良いです。
ぜひ「わかりやすい本」をこの記事を参考にしたり、他の記事を参考にして探してみてください。
おすすめ本(最初の一冊)
では早速Python初学者におすすめの本を紹介していきます。
まずは初学者が最初の1冊に選ぶと良い本を紹介していきます。
かんたんPython
ポイント
- 「たとえ」や「図」、「イラスト」を用いてめちゃくちゃわかりやすい。
- 一見分厚いが文字も大きく読みやすい。
- 個人的には一番おすすめ。
スッキリわかるPython入門
ポイント
- 教科書的な本で丁寧に解説してくれている。
- 対話形式になっていて、「たとえ」を用いて理解しやすい。
- 1つ1つコードを確認してくれていて非常に丁寧。
スラスラ読める Pythonふりがなプログラミング
ポイント
- 「ふりがな」とあるようにPythonコードを日本語にしながら解説してくれる。
- 対話形式で書かれているので読みやすい。
- 普段から使い慣れている日本語に訳してくれるのでコードへの理解がしやすい。
おすすめ本(2冊目以降)
この章ではPythonの基礎を学んだ人が次に読むべき本を紹介していきます。
どの本もおすすめなので、本屋さんなどで直接みて気に入っていただけたらぜひ購入してみてください!
独学プログラマー Python言語の基本から仕事のやり方まで
ポイント
- Pythonの理解をさらに深めるのに最適な一冊。
- オブジェクト指向についてより詳しく学べる。
- プログラマーを目指す人には特におすすめ。
入門Python
ポイント
- Pythonについてめちゃくちゃ詳しく書かれていて、辞書のように使うことができる。
- 基礎から応用まで網羅しているので、初学者から実務レベルの人まで活用できる。
- Pythonを使った仕事をしたい人には特におすすめ。
Pythonトリック
ポイント
- Pythonの実践能力を高められる。
- Pythonの細かいテクニックや細かいルールなどの知識をつけれます。
- よりPythonへの理解を深めたい方や実務レベルでPythonの知識をつけたい方には特におすすめです。
Pythonコードレシピ集
ポイント
- 本のタイトルにある通り、Pythonのコードが「1ページ1レシピ」のようにまとめられています。
- Pythonに慣れていない方が辞書のように使う際におすすめです。
- Pythonの基礎知識のみならず実務レベルの応用知識も書かれているため長く使用できる。
Python基礎&実践プログラミング[プロへのスキルアップ+プロジェクトサンプル]
ポイント
- だいぶ内容が難しい。
- 難しいぶん情報量は凄まじく、この本を一冊読んだ後は知識量が群と増える。
- 「Pythonについて徹底的に詳しくなりたい」という方に特におすすめの本。
Python実践入門 ── 言語の力を引き出し、開発効率を高める
ポイント
- 「Python初心者」から「Python中級者」にレベルアップしたい人におすすめの本。
- 前半はPythonの基礎について書かれていて、後半からPythonの応用知識について学べる。
- いきなり実務レベルや上級者向けの本を買うのではなく、ワンクッション挟みたい人にはおすすめ。
プログラミング学習手順
僕の経験をもとに「プログラミングの学習手順」を紹介していきます。
プログラミング学習する上で意識すること
まずはプログラミング学習する上で意識しておくと良いことを紹介します。
https://note.com/cardene777/n/n7e3a27820e64
ここで書くと結構な量になってしまうので、上記の記事を参考にしてください。
ちょっと強めの口調になってしまっている部分もありますが、重要なことなのでぜひ目を通してください!
学習手順
「プログラミング学習する上で意識すること」を確認したと思うので、早速学習手順を見ていきましょう。
学習手順
- 作りたいものを考える。
- 動画でインプット。
- ブログ、個人開発などでアウトプットする。
- 書籍や動画で知識を補強しつつ、アウトプットを継続。
- ①に戻る。
たったこれだけですが結構重要なので、これから1つ1つ説明して中で手順をしっかり確認してください。
1. 作りたいものを考える
一番最初にインプットするわけではなく、「作りたいものを考える」ということに驚いたと思います。
その驚きをこの章で納得に変えていきたいと思います。
突然ですが、あなたのプログラミングを始めた理由はなんでしょう?
「稼げそう」、「今流行りだから」、「楽しそう」、「周りがやってるから」など様々だと思います。
様々な思い出プログラミングを始める中で、プログラミング学習の挫折率は高いと言われています。
僕の個人的な意見としては「プログラミングをそこまで楽しいと感じていない人」が挫折しているのではないかと考えています。
プログラミングを趣味でやっている人は関係ないのですが、エンジニアとして働く人はずっと学び続ける必要があります。
その理由としては、「技術が日々進歩していき、新しい技術が短期スパンでどんどん出てきたり、既存のものがどんどんアップデートされていく」からです。
それなのにプログラミングが楽しくなかったらなかなか苦痛ではありませんか?
そこで本題に戻るのですが、どうやったらプログラミングを楽しく感じられるのか?
僕の中での答えは「作りたいものを作る」です。
作りたいものを作るという目標に向けてインプットをし、実際に作ってみて完成した時の達成感はものすごいです。
そして、その過程のインプットも作りたいものを作るというゴールを意識すると頑張れますし、実際に作っているときは楽しくて仕方がありません。
そのためには、「作りたいもの」がある必要があります。
よく初学者にありがちなのが、「特に作りたいものがない」、「今の自分にはまだできない」など言い訳をすることです。
「作りたいものがない = 日常で不便に感じることがない」と僕は考えています。
些細なことでも「日常で不便に感じること」はたくさんあると思います。
例えば、「ゴミ捨ての日を忘れてしまう」、「読んだ本の内容や、覚えたいものをメモしても復習せずにそのまま忘れてしまう」などいくらでも出てくるはずです。(ちなみにこれは僕自身の「日常で不便に感じたこと」です。)
「ゴミ捨ての日を忘れてしまう」なら、slackやLINEにボットで通知させる。
「読んだ本の内容や、覚えたいものをメモしても復習せずにそのまま忘れてしまう」なら、復習を定期的に促してくれるメモ帳を作ってみる。
など、まさにアウトプットになる作りたいものですよね。
最初っから作りたいものがなくても問題はありません。
問題なのは、「不便を探すアンテナ」を立てているかどうかです。
日頃から不便を探すアンテナを立てておくことで、「日常の不便」を見つけ、それを対処するために作りたいもののアイデアが出てくるはずです。
もちろんすぐに出てくるものではないので、インプットしながらでももちろん良いと思います。
ここで言いたい結論としては「常に不便を探すアンテナ」を立てておくことです。
ぜひアンテナを立て続けながらプログラミングの学習を進めてください!
次に「インプット」の段階に入ります。
2. 動画でインプット
僕の考えでは、最初のインプットは「動画」がおすすめです。
それについてこの章で話していきます。
プログラミングのインプットでは代表的なものに「動画」と「本」が挙げられます。
どちらの方が良くて、どちらの方がダメということはありません。
しかし、最初にインプットとして使用する時は動画をおすすめします。
動画でインプットする代表的なメリットは3つあります。
メリット
- 見続けられる。
- 動きを確認できる。
- コスパが良い。
この3つのメリットについて1つ1つ説明していきます。
(比較として本でのインプットを挙げます。)
見続けられる
本を読むのは苦手という人はよく見かけますが、動画を見るのが苦手という人はなかなか見かけません。
本は文字がいっぱいで視覚しか使うことができないので、理解し辛いという面があります。
一方、動画は聴覚と視覚の2つを使うことができ、比較的理解しやすいです。
ある程度理解している状態で本を読む場合は理解しにくいということはありませんが、最初はほとんど知らない状態なので、動画を利用することの方が理解のしやすさの観点からおすすめです。
しかし、中にはこの記事の前半で紹介している「かんたんPython」という本のように、最初のインプットに最適なものもあります。
その共通点は図が多いことです。
動画は図を用いつつ説明をしているので、理解しやすいため、本でも「図」が多く用いられているものは理解がしやすいです。
と言いつつも図が多くてわかりやす本を見つけるのは難しいので、動画で学ぶようにしましょう。
動きを確認できる
動画の最大のメリットは「動きを確認できる」ことです。
本でも写真や図で動きを確認できますが、細かい動きまで確認できないことが多いです。
それに比べ動画だと1から10まで基本的に動きを確認できます。
「同じことができる」というのは、動画の手順に沿って全く同じようにできるということです。
「本」などの言葉の説明だけでは、「どこに指示されたボタンがあるのか」、「どこに書き込めば良いのか」などがわからない場合が多いです。
その結果途中で辞めてしまう経験をしたことがある人もいると思います。
それならば最初っ方「動きを確認できる動画」を活用して、1から10まで「同じことができる」方が良いと思いませんか?
少なくとも僕はそう考えています。
コスパが良い
皆さん動画でプログラミングを学ぶとしたら何が一番最初に思い浮かびますか?
1万円くらいする教材でしょうか?Youtubeなどの無料の教材でしょうか?
どちらも存在しますが、個人的には「udemy」というサイトをおすすめします。
「udemy」は有料の動画を購入して学ぶことができるサイトです。
「有料か〜」と思う人もいると思いますが、1つ講座を受けてみると「コスパ最強!」と感じるはずです。
試しに上記の「udemy」のサイトでPythonと検索してみてください。
1万や2万の講座ばかりだと思いますが、重要なのは「セール時の価格」です。
「udemy」は月1くらいでセールをしています。
その時に価格を見ると、1200円~1600円ほどになっているはずです。
この時に購入するのがベストです。
もちろん安ければ全て良いというわけではありません。
内容について詳しく説明していきます。
先ほどの「udemy」でどれか講座の詳細を確認していただくとわかるのですが、まず講座時間が17時間分や30時間分など量がしっかりしています。(全部が全部ではありません。)
そして、わかりやすい図や編集をしてある動画が多いため、理解がしやすいので質の面でも満足できます。
しかも思っていた講座ではなかったときに、返金もできるので安心です!
「百聞は一見に如かず」という言葉もあるように、まずは後半で紹介している講座を1つ受けてみることをおすすめします。
(くれぐれもセール時に受けることをおすすめします。また、おすすめの使い方は後半で紹介しています。)
ここまで動画でインプットすることのメリットを紹介してきましたが、いかがだったでしょうか?
動画でインプットしたい気持ちになってきたと思います。
もうここで手を止めて「udemy」でインプットしてみるのも良いと思います。
一通りインプットしたら戻ってきてくださいね!
3. ブログ、個人開発などでアウトプットする
「udemy」で基礎のインプットができたら、早速アウトプットの段階に入っていきます。
おすすめのアウトプットは「ブログ」と「個人開発」です。
どちらもハードルが高く感じてしまうと思いますが、アウトプットすることでインプットで学んだ内容が定着してくれます。
より効率的に成長したい方はどんどんアウトプットしていきましょう。
ブログ
ブログでのアウトプットとは、インプットで学んだことの中から1つ取り上げてまとめていくのが一番やりやすいです。
例えば「Pythonのリストに関するまとめ」だったり、「Pythonの関数の使い方まとめ」などです。
ググるとこのような記事はたくさん出てきますが、今回はインプットしたことを自分の脳に定着させることが目的なので、気にせずどんどん書いていきましょう。
自分用にブログサイトを開設しても良いですが、年1万円かかってしまったり、その手順が面倒という方もいると思うので、そんな人は無料で利用できる技術ブログサイトを使用しましょう。
有名なものとしては、「Qiita」、「Zenn」などがあります。
上記のどちらか、もしくは両方を活用して学んだことをアウトプットしましょう。
慣れてきたら、「自分が理解するのが難しかった部分」や「ググったけど自分が欲しい情報が載っている記事がなかった」ものをまとめることができると記事としての価値も上がり、他の学習者の助けになるはずです。
個人開発
個人的にはこちらをおすすめしたいです。
個人開発とは、「自分が作りたいものを作る」ことです。
ここで一番最初にやった「作りたいものを考える」が生きてきます。
「日常の不便」を解決できるような「もの」を作ることができれば、不便がなくなる上に自分のスキルが上がり、インプットしたものが定着するのでメリットが多いです。
Pythonの基礎のアウトプットとしておすすめなのが、オセロや大富豪、ババ抜きなどのトランプゲームです。
この際にルールを決めて作ると良いです。
ルールとは、例えば「クラスを使って作る」、「関数で作る」、「例外処理を使う」など、インプットしたものを積極的に使うことが良いです。
他にもDjangoのインプットをしたなら、Todoリスト、技術ブログ、機械学習なら、好きなアイドルの画像分類、カメラで人を認識、その他としてslackボットなど様々挙げられます。
「日常の不便」が思いつかない人は上記を参考にしてみてください。
個人開発でよりレベルアップしていきましょう。
4. 本や動画で知識を補強しつつ、アウトプットを継続
アウトプットをする中でどこかでいき詰まります。
その時は新たにインプットをする必要があります。
例えばDjangoでWebアプリを作成している中で、Webページから情報を取得必要があり、「スクレイピング」をしたいとします。
その時はPythonでスクレイピングする方法を本、動画、Web記事などでインプットする必要があります。
このようにアウトプットに必要な知識を、インプットを通して補強していくというイメージです。
この際に活躍するのが本です。
一番最初のインプットは動画がおすすめですが、ある程度学んだあとは本を利用する方が良いです。
その理由としては、本の方が専門性があり、量や種類も多いからです。
もちろん動画で目的のものがあればそれを見れば良いですが、本も有効的に活用していきましょう!
5. 1に戻る
この1〜4までのサイクルを回していくのが、この1年間独学で走り続けてきた僕自身の結論です。
アウトプット前提のインプットをして、実際にアウトプットをしながらインプットをする。
簡単にいうとこれだけのことですが、最初はなかなかこの通りにやるのは難しいと思いますが、だんだんと慣れていくものなので、いきなりはできなくても問題ないです。
また、自分なりの学習サイクルが出来上がることもあると思うので、まずは土台としてこのサイクルを活用してもらえればと思います。
アウトプットを常に意識することが何よりも大切なので、そのことを忘れずに成長していきましょう!
最後に
今回は「Pythonおすすめ本」と「プログラミングの学習手順」を紹介してきました。
もちろんこの記事に書かれていないが良い本もありますが、今回紹介した本とそこまで内容は変わりません。
まずはPythonの学習を始めることが何よりも重要なので、あまり教材に悩みすぎずまずは学習を開始しましょう!
かるでねブログではPythonをメイン情報発信しています。
またTwitterもやっているのでフォローしてくれると嬉しいです!
Tweets by cardene777