本記事では、Pythonがなぜ今流行っているのか、Pythonのお勧めの入門書、入門書以外でのオンラインでの勉強法などについてまとめています。
私がPythonの学習を進めている中での心構えや、プログラミング初心者の方へ向けた言葉も添えさせてもらいました。
Pythonを学習する理由
機械学習が流行っている
機械学習とは、人間が普段行っている学習する能力をコンピュータに行わせることで、人間では処理しきれないような大量のデータから傾向や関連性を見出したり、過去のデータから将来のデータを予測するなどといった人工知能(AI)の分野の1つです。
機械(コンピューター)に自ら学習させることから機械学習と呼ばれています。
機械学習を用いた技術はすでに身近に浸透しており、例えば
- SMBC日興証券が提供している、AIが売却タイミングを知らせてくれる「AI株価見守りサービス」
- ヤフーメールなどで使用されている「迷惑メールフィルター」
- AmazonなどのECサイトで表示される「あなたへのおすすめ商品」
- 棋界最高位のひとつ「名人位」をもつ棋士に勝利した将棋プログラム「Ponanza」(ポナンザ)
- ユーザーからの問い合わせに無人で応答する「AIチャットボット」
など、生活を便利にするものから、企業が商品を売る際の目安にしたり、株やFXの売買に使用されたりなど、インターネットの普及やコンピュータのスペック向上、Pythonを中心とした機械学習に便利なライブラリの充実に伴って機械学習が注目されています。
そして、機械学習のプログラミング言語として最も注目されているのがPythonです。
Pythonは、機械学習の主要なライブラリ(scikit-learn、TensorFlow、PyTouchなど)のほぼ全てをサポートしていることに加え、IDE(統合開発環境)もPyCharm、Visual Studio Code、atomなどを利用可能なため開発環境も充実しています。
DjangoでWebアプリが作れる
PythonのWebアプリケーションフレームワークの1つであるDjango(ジャンゴ)を利用することで、様々なWebアプリケーションの開発が可能です。
Webアプリケーションフレームワークとは、Webアプリケーションを開発する際の便利な機能がまとまったソフトウェアのことです。
Djangoはその柔軟性や効率性の高さからYouTube、Instagram、Pinterestなどの有名なWebアプリでも用いられており、Pythonが人気である理由の一因を担っています。
最も人気の高いプログラミング言語
世界最大の専門化組織であり電気・電子工学・コンピューターサイエンス分野の文献や論文誌を発行しているIEEEによる学会誌「IEEE Spectrum」が、「Top Programming Languages 2019(人気の高いプログラミング言語 2019)」を発表しました。
このランキングでは、左端から順位・プログラミング言語名・使用用途・スコアが記載されており、Pythonが1位となっています。
この記事ではPythonが最も人気であることの理由としては、特に人工知能の分野において膨大な専用ライブラリがあることや、Pythonから派生した「CircuitPython」や「MicroPython」などといったマイクロコントローラ上で動作する組み込みバージョンのPythonの人気がメーカーの間で高まっていることなどが挙げられています。
先ほどのランキングは総合ランキングですが、その他にも「急速に成長している言語」「雇用主が求めている言語」などのランキングなども発表していますが、どちらも共にPythonが1位となっています。
このことからも現在様々なプログラミング言語がある中でPythonを選んで学習するべきである理由が伺えると思います。
Pythonおすすめの入門書
入門 Python 3
- 主要なテクノロジーに関するコンピュータ技術書籍として定評のあるオライリージャパンのPython3入門書。
- Python3について網羅的にまとめられており、一通りの基本的な知識は身に付けることができる。
- 実際にコードを書きながら学べるが、プログラミングの基礎知識が全く無い人には少し難しい可能性がある。
- 広く浅くというスタンスの書籍なため、実践的にPythonを使いこなそうとする場合は、Pythonの標準ドキュメントや、インターネットなどで調べる必要がある。
- 英語を翻訳した内容のため、日本人には少し分かりづらい部分がある。
スッキリわかるPython入門 スッキリわかるシリーズ
- IT入門書籍として定番のスッキリシリーズのPython入門書。
- Pythonの基礎的な文法は一通り網羅してある。
- オライリーの「入門 PYTHON 3」より少し砕けた解説であったり、重要なワードには色付けが施されているので、理解しやすい紙面構成になっている。
- いずれの解説も基礎にとどまるため、具体的な目標がある場合はこの本だけでは物足りない可能性がある。
- 登場人物が対話している形式で解説が進められている中で、実際にコードを書いてみた時のありがちなミスや失敗例も含めてとことん説明されている。
- 巻末の付録に「エラー解決・虎の巻」が付属しており、逆引き的に利用できるのが特徴。
Pythonだけではなく、プログラミングとは…という点から解説されており、プログラミング初心者でも読みやすい。
独学プログラマー Python言語の基本から仕事のやり方まで
- 学習を継続的により効率的に学ぶための方法や書籍、サイトなどの紹介があり、Pythonを独学するための本としての内容が充実している。
- 入門書というよりは初心者がステップアップして、プロのプログラマーになるための基礎および姿勢、仕事の心構えについて書かれている。
- 英語を直訳している為か、ひとつひとつの言葉が少々ぎこちないところがある。
いちばんやさしいPythonの教本 人気講師が教える基礎からサーバサイド開発まで
- フルカラーでとてもシンプルな構成で出来ており、余計な説明をなるべく省略しているため、初心者の方でも読み進めやすい。
- 終盤から1つのプログラム(簡易的なチャットボット)を少しずつ完成させていく形で進められており、その途中にも様々なプログラムを実行させて結果を確認しながら進む流れになっている。
- WindowsとMac両環境でのプログラムのインストールなどといった初歩の環境構築から記載されているため、より分かりやすい内容となっている。
- Python学習のためのWebサイトや関連書籍、Pythonコミュニティなどの紹介があり、読み終えた後の指標になる。
Python実践入門
- プログラミングの経験はあるが、Pythonの経験はない方やPythonの実践的な書き方を知りたい方にお勧め。
- Pythonの初歩的な解説にとどまらず、それらを使用した小さいアプリケーションを実際に作れるところまで解説されている。
- オライリーの「Python3 入門」と内容的に重複している部分は多いが、オライリーの方は英語から日本語に翻訳されているため、表現の理解が難しい部分がある一方、本書は著者が日本人であるためより理解しやすい。
スラスラ読める Pythonふりがなプログラミング
- 「プログラムの読み方をすべて載せる(ふりがなをふる)」というまったく新しい手法で究極のやさしさを目指したPythonの入門書。
- ふりがなをふることで、本来では分かりにくいプログラムの1行1行が何を意味していてどのように動いているのかの流れが目に見える。
- Python以前にプログラミング自体が本当に初めてという方には非常に読みやすいが、プログラミングの経験が少しある方にはふりがなや読み下しで説明されると少々くどく感じる箇所がある。
- 丁寧に解説されているため、Pythonやプログラミングの初歩中の初歩を学ぶのには適しているが、実際に作業の自動化やスクレイピングなどをしようとしている人に向けた解説は含まれていない。
Pythonスタートブック[増補改訂版]
- プログラミング初心者でも解説が非常にわかりやすく、画像を用いた解説も多く、難しい言い回しもないため子どもでも読み進められる。
- 増補改訂版では、Python3に完全対応し、データ解析の説明と参考図書リストが追加されたことでより活用の幅が広がった。
Python 1年生 体験してわかる!会話でまなべる!プログラミングのしくみ
- イラストも優しい雰囲気で、Python超初心者の方でも対話形式でプログラミングのしくみを学びながら基本的なプログラムから、人工知能アプリを作れる。
- この書籍と相性が良ければ、「Python 2年生 スクレイピングのしくみ」や「Python 2年生 データ分析のしくみ」などの同著者の書籍もオススメ。
- 超初心者向けに書かれているが、くどさはあまり無く、実際に自分の手を動かして作業するため、どんなことをしているのか実感をもって学習できる。
- サンプルはWebサイトからダウンロードが可能なためとりあえず動かしてから学ぶことも可能。
いちばんやさしい Python 入門教室
- プログラミング自体の初学者に配慮されたフルカラーの書籍となっており、プログラミングとはどのようなものかということについての概略や、WindowsまたはMacを前提とした開発環境の構築方法、Pythonやその他の言語でも共通の基本的な文法を学べる。
- 終盤では、多少発展的な内容を扱っており、初学者に向けて出来る限り分かり易く解説されているとはいえ少々理解が大変な内容もある。
- Webサイトからサンプルコードのダウンロードが可能なため、自分で作成したコードがうまく動かなくても、どこが誤っているのかを判別しやすい。
ゲームセンターあらしと学ぶ プログラミング入門 まんが版こんにちはPython
- ゲームセンターあらしの登場人物がマンガ形式でPythonでのプログラミングを解説しており、子どもでも読みやすい内容となっている。
- 最終ゴールが「じゃんけんゲーム」や「スカッシュゲーム」の作成となっており、ゲームを作りながらPythonを学べる。
- プログラミング以前にPCのクリックやドラッグについての解説から始まり、普通なら説明しない様な細かい部分まで丁寧に解説されているため、プログラミングもPCの操作もよくわからない超初心者にもお勧めできる。
- 約40年前に発売された前作「こんにちはマイコン」の現代版で、使用言語が「BASIC」から「Python」へ変化し、当時の書籍を読んでいた「あらしファン」にとっても「原作のコミックを知らない人」も楽しみながら勉強できる。
本よりコスパがいいかも!?UdemyのおすすめPython講座
Pythonの入門書はたくさんありますが、どの本でも共通して言えることは、結局は独学で勉強を進めるしかないという事です。
学校の様に先生に質問をして分かり易く解説してくれたり、挫折しないように助言してくれるような本はほとんどありません。
初学者のうちは分からないことだらけだと思いますので、その欠点がより顕著に感じられると思います。
そんな方にお勧めなのが、UdemyのオンラインPython講座です。
Udemy のPythonの関連トピックは19種類
現時点ではPythonについて学べるトピックが19種類あり、冒頭で述べたような機械学習や、スクレイピング、ゲームやツールの作成、Webアプリの作成方法など、幅広くサポートしています。
コースはすべて30日間返金保証付き
コースがたくさんありすぎてどれを受ければいいかが分からなくても、コースは全て30日間の返金保証付きのため、とりあえず受けてみて、身にならなかった場合は返金することも可能なので、初心者にありがちな一歩を踏み出す敷居が低い状態でプログラミング学習を始めることが出来ます。
また、動画主体のコースとなるため、書籍では体験できない本来のプログラミングの動作やWebアプリケーションの動作を前もって動画で確認できる事で、より分かり易い内容となっている。
世界最大級のオンライン学習サイトUdemyまとめ
Pythonを学ぶ方法としては、書籍であったり、オンラインでのPython講座であったり、講師との1対1での講座であったり様々ありますが、結局は継続して学習することが最も大切な心構えになるため、プログラミングが苦手だけど始めてみたいというような方はどんな方法であれとりあえず間違ってもいいからプログラミングに触れてみて、どのようなものかを実感してみることをおススメします。
かくいう私もPythonの勉強は現在も継続しているため、皆さんも継続してPythonの勉強を頑張りましょう!