Pythonの勉強をしています
今年の2月29日「PyCon Mini Shizuoka」というイベントでキーノートスピーカーとして登壇予定です(詳細は以下参照下さい)。
キーノートスピーカーを引き受けたものの。よく考えると、私はPythonがあんまり分かっていません。「これは、幾ら何でもまずいのでは?」というお気持ちになりました。そこで、今年の年末年始を中心にPythonの本をいくつか読んで、PyConの議論についていけるように、少しでもPythonへの理解を深めておくことにしました。
学んだことは、折角なので以下のQiita記事にまとめていきます(随時追加中)。
この記事では、学習に使用した本と、簡単な感想を書いてみます。興味ある方は参考にしてみて下さい。
私のブログから買うのが嫌だ!という人は、タイトルをコピーしてAmazonで検索してもらえば大丈夫ですし、もちろん買わなくても大丈夫です。当たり前ですが、選択の自由は読み手側にあります。
本当の初心者に向けて
ここで紹介する本は、ある程度Pythonを使ったことのある人向けの、どちらかというと2冊目以降の本を想定しています。
本当の初心者は、オンラインで手を動かしながら学べるものが、最初のとっかかりには良いと思います。ブラウザさえあれば、OS関係なく初心者にとってハードルの高い環境構築不要で始められるので、オススメです。
私が試したことあるのはAidemyさんです。Python入門は無料で受講できると思います。
あとは、少し触った程度にはなりますが、Progateさんも良いかなと思います。評判も高いですね。
自分で出来るぜ!って人は、以下記事に初心者向けの情報をまとめてありますので、よければ参考にしてみて下さい。
Python学習本(Python全体を網羅する本)
最初に、Python全体を網羅的に理解するような本を紹介します。
みんなのPython 4th
入門的な導入に加えて、関数型プログラミング・イテレータ・ジェネレータ・オブジェクト指向・クラス・特殊メソッド等、ある程度高度なところまで、網羅されています。初心者に向けて丁寧に書かれているので、理解もしやすいです。
ただ、この本自体は正直退屈なので、ある程度網羅的に理解したい人が読んだり、辞書的に使う本の印象が強いですね。1冊目にこれ読むと、Pythonの何が良いかわからず挫折しちゃうかもしれません。
あと、ちょいちょい誤記あるの気になりました。大した内容ではないですが、全くの初心者は困惑してしまうかもですね。正誤表もチェックしておいた方がよいです。
Pythonエンジニア育成推進協会監修 Python 3スキルアップ教科書
内容的には、「みんなのPython 4th」と同じような構成だと思います。
読みやすいし、良いのではないかと思いました。可能なら本屋で「みんなのPython 4th」と読み比べて、読みやすそうなものを選べば良いかなと思います。
独学プログラマー
この本はちょっと毛色が違って、Pythonの基本にはじまり、チームでプログラミングを開発するメソッドから、仕事に取り組む姿勢まで書かれている幅広い本です。内容もPythonだけでなく、バージョン管理システム(Git)の使い方、アルゴリズム、コードレビューの仕方に加え、面接対策(!?)まで取り扱っています。
Pythonだけ知りたいという人は、ちょっと不向きかもしれませんね。ただ、プログラミング開発全般を理解したい初心者が読む本としては、とても良い気がしました。自分にとっては、もうちょっと早く読んでおくべき本でしたね。
Python学習本(応用編)
こちらは、Pythonが主体というより、Pythonを使って何かをすることに重きを置いた本を紹介しています。なので、こちらは基本的に明らかな目的がある人が対象です。
Python実践データ分析100本ノック
Pythonを使ったデータ分析に関して学べる本です。実際に使われそうなサンプルのデータに対して、Jupyter Notebookを使ってデータ処理を実践していく内容です。扱うデータも、ビジネス的な商品売上から、画像処理、言語処理と幅広いです。実践的な内容が身につきます。
比較的、初心者向けですが、ダウンロードできるサンプルプログラムのライセンスが不明確なのがちょっと気になりました。GitHubでMITライセンス等、再利用しやすい形で公開してくれた方が、読者に親切かなと思いました。コードを公開した方が、本は売れる時代だと思いますけどね。
Kaggleで勝つデータ分析の技術
Kaggleというデータ分析のコンペティションに特化した本です。Kaggleに関して詳しくは以下記事参照下さい。
今Kaggleに関して、一番丁寧に書かれている書籍はこれだというのが定評です。Kaggle本とも言われてますね。Kaggleに興味あったので買ってみました。超実践的な内容なので、Kaggleを始めるなら買うべき本ですね。データ分析の様々な手法を知る上でも良い本だと思います。
正直、全部読みこなせてないです…ただ、辞書的にも使えそうな本だなと思います。
他は、3月になると、u++(id:upura)さんとカレーさんがKaggle本を出すらしいので、そちらも期待しています。
つくりながら学ぶ!PyTorchによる発展ディープラーニング
PythonというかPyTorchを学ぶ本ですね。最近PyTorch勉強中なので。こちらに関しては、またPyTorchに特化した記事を書こうと思います。
本自体は、幅広く色々な技術が取り上げていて、なかなか良い感じかなと思います。
ゼロから作るディープラーニング
何度も紹介している本ですが、ディープラーニングを深く知りたいなら一度は読んでおくべき本ですね。
また、「ゼロから作る Deep Learning 3」という本も発売予定とのことです。公開レビューしてみて、少し中身を読んでみたのですが、PyTorchベースのディープラーニングのフレームワークを手を動かしながらほぼ、フルスクラッチで作るという、非常に意欲的な内容でした。
オブジェクト指向とかクラスとか、本を読んでも何故必要か全然ピンとこない人は、こういう本を読んでみるとひょっとしたら理解深まるかもしれません。1/13まで公開レビューしているので、興味ある方は是非レビューに参加してみて下さい。
この本販売したら、買うと思います。
最短コースでわかる ディープラーニングの数学
以前紹介した本です。個人的には、ディープラーニングの基礎からの理解に関して「ゼロから作るディープラーニング」に並ぶ良書と思っています。コードもWebで公開されているので、まずはそちらを軽くみてから書籍の購入を決めても良いかもしれません。
詳細は、以下のレビューを参照下さい。
Excel×Python最速仕事術
出版社様より献本いただいた本です。大きな企業だとPython導入のハードルが一番の問題になりそうです。ただ、それさえクリアできればVBAに限界を感じていた人が、RPA推進を格安で実現できるきっかけとなる本かもしれません
私自身は、Excelのワークシートをいじれるような、Pythonライブラリがあるの知らなかったので、それを知れただけでも読んだ価値あったかなと思いました(いつもcsvに書き出してからpandasで読み出してた)。もちろん、csvで書き出してpandasで処理する方法に関しても書籍で取り上げていますが、そこまでみっちりではないです。
データ分析を詳しく知りたい人は、上で紹介した「Python実践データ分析100本ノック」の方が良いかなと思います。
Python始めたいという人が、ExcelをとっかかりにPython学んだり、VBAに限界を感じている人に良いかなと思います。タイトル読んだときはちょっと否定的でしたが、読んでみると、この本に救われる世の中に結構多いかもしれないなと思い直しました。どちらかというと即効性を求める本ではなく、じっくり学んでいつか大きいリターンを得ることを期待する本だと思います。
まとめ
Pythonを学ぶために読んだ本をまとめてみました。PyConのキーノートスピーチが決まってから、Pythonを慌てて勉強し始める人、自分くらいではないでしょうか(笑)
なるべく正しい情報を提供できるように努力しますが、永遠の初心者なので、間違いみつけたときは、どうぞ皆様優しく教えて下さいませ。
「PyCon mini Shizuoka」では「ラズベリーパイの”パイ”とはなんのことだ。 〜 Python x ハードウェアの可能性 〜」というタイトルで、Pythonとハードウェアの組み合わせることで広がる可能性的なものをお話したいなと考えています。資料は大体頭の中ではできあがったので、今から頑張って作ります!みなさま是非お越しください。
追記:PyCon mini Shizuokaでの発表を実施しました。内容に関しては以下記事参照ください。
書籍の宣伝「からあげ先生のとにかく楽しいAI自作教室」
AIの初心者向け本「からあげ先生のとにかく楽しいAI自作教室」を執筆しました。Google Colaboratoryを使って、実際に動かしながらAIを学べる本になっています。
文系でAI素人の私の妻も、実践できて理解を深められるような、初学者向けの内容になっています。PythonでAIを学んでみたい方は是非。以下に紹介記事を書いています。
また、Python x ハードウェアのとっかかりとして、去年末に発売した書籍「Jetson Nano超入門」もオススメです。こちらもよろしければ是非!
参考リンク
本を選ぶときに参考にした記事等です。
Pythonを学ぶときに読むべき本2020年版 - 初心者からプロになるために - Lean Baseball