初・中級向け 無料で読めるPythonのおすすめテキスト4冊

2020年8月5日プログラミングPython

最近Pythonの可能性にハマってます.
私はプログラマーではないのでPythonで開発をするということはありませんが,社内のソフトウェアで業務ツールを作ることがあります.

ツールを作った経験がある人ならわかると思いますが,一番大変なのはツール作成ではなく,ツールに入れるデータの整理等の前処理,いわゆるデータラングリングです¹.
1 データ分析の80%がデータラングリングに充てられていると言われています.

経験上,データは存在していてもそれがきれいな状態で存在することは200%ありません
これは,太陽が東から昇るのと同じくらい確実です.
なので,データラングリングが必須なのですが,ここにPythonに可能性を見出してワクワクしています.
Pythonをツールとして使えるようになるため,色々なテキストを読んでいますが,プログラミングの本は3,000円以上なんて当たり前で,欲しい本を全部買ってたら簡単に数万円かかってしまいます.

なので,無料で読めるテキストを探してみると,これが結構あるんですね.
特に英語版だと,オライリーから出ている定番テキストもPDFで無料公開されているものが多くて,これまで英語を勉強してきた自分を褒めたくなります.

ということで,この記事では無料で読めるPythonの定番テキストを紹介します.

まず,Pythonとは(知らない方のみ)

Pythonの概要説明です.
知ってるよ,という方はこの項はスキップして下さい.

Pythonはプログラミング言語の一種です.
大学の第二外国語で,オシャレな仏語や将来性のある中国語やスペイン語に人気があるように,プログラミング言語にも人気,不人気がありますが,Pythonは最近特に人気のあるプログラミング言語の一つで,大きい本屋に行くとPythonの本が平積みされています(と言っても,早い人は4, 5年前から知ってましたが).

Pythonが人気の理由の一つは,これまた最近流行りのディープラーニングや機械学習と非常に相性がいいためです.
その理由は,Pythonにはライブラリと呼ばれる,ある目的に特化した機能をまとめたパッケージが用意されていて,そのライブラリがとても豊富です.
で,その中にはディープラーニングを開発するためのライブラリも豊富にあるため相性がいいと言われています.

また,Pythonは初心者の人でもとっつきやすい言語だと言われています.
私はプログラマーではないですし,コンピューターサイエンスを専攻していたわけでもありませんが,Pythonを使ってtweepyで簡単なツールを作ったり,家計簿(エクセル)の機能を一部Python化しました.
これがC言語のように難しい言語だったら挫折してたと思います.

無料で読めるおすすめテキスト

1. 退屈なことはPythonにやらせよう

たぶん,Pythonの知名度アップに貢献した一冊です.
ウェブスクレイピングやPythonでエクセルを操作する方法,PDFからテキストを取得する方法等,日常業務に役立ちそうな例が沢山載っていて,私もこの本のケースをいくつか応用したことがあります.
今でも,この本にあるケースを参考にして,こんなこと出来ないかなーと思って,メモってます.

2. Pythonによるデータ分析入門

pandas²の開発者,Wes McKinney氏が書いた本です.

2 データ解析の時に使うPythonのライブラリで,データ解析ではnumpyとpandasが双璧で,pandasを知らないpythonユーザーはいないと思います.

pandasの開発者だけあってpandasについての記述はかなり詳しいですが,numpyやmatplotlibといった他のライブラリについてはちょっと少ないので,それは3冊目の『Pythonデータサイエンスハンドブック』で補えばいいと思います.

プログラミング学習では,自分の知りたいことをググるのもいいですが,そうなるとどうしても知識が断片的になりがちなので,テキストで体系的に学んだ後,必要に応じて辞書的に使うのが経験上,ベストです.

3. Pythonデータサイエンスハンドブック

こちらもPythonでデータ解析をする際の定番です.
pandasは『Pythonによるデータ解析入門』の方が詳しいですが,こちらはnumpyやmatplotlibについてもバランスよく説明がされているので,『Pythonによるデータ解析入門』との併用がおすすめです.

また,この本の3分の1が機械学習について書かれていて,機械学習ライブラリのscikit-learnについての説明がかなり詳細に書かれています.
numpy, pandas, matplotlibについての基礎を身につけた後,機械学習の入り口としてscikit-learnに挑戦する本としても最適です.

4. リーダブルコード

この本はPythonに特化した本ではないですが,プログラミングをする人全般に書かれた名著で,他の人が読んだ時,後で自分が読み返した時にわかりやすコードを書くためのノウハウが満載です.
Pythonに限らず,プログラミングをする全ての人が一度は読んでおきたい本です.

また,かなり平易な英語で書かれていて読みやすいです.

まとめ

今回4冊紹介しましたが,1, 2, 3はそれぞれ500ページ超えでかなりボリューミーです.
内容は初級から中級ですが,ここに紹介した4冊のエッセンスを習得すればPython中級者だと思います(私もまだ半分くらいしか読めてません…).

ここで紹介した4冊を全て買うと約15,000円しますが,英語ならそれがタダで読めます
また,今回はテキストの紹介でしたが,You Tubeにもプログラミングについて価値ある情報を発信している人が沢山いますが,当然ながら日本語よりも英語の方が圧倒的にコンテンツ量が多いです.

英語でのコミュニケーションができるようになるため,というのが英語学習の最大のモチベーションでしたが,これからは英語で書かれた文献を理解できるようになるため,というのも英語学習の大きなモチベーションになると思っています.

英語の勉強,ではなく英語で勉強,というのがコスパ最強だと思います.

Posted by Econ