著者の山田祥寛さんは、WingsProjectという執筆者コミュニティ(会社でもある)を運営されていて、200冊近くのプログラミング、技術書籍の執筆、監修の実績があります。(その他、雑誌記事やWeb記事など多数)
私も2005年から2010年の期間、雑誌記事(JavaPress、DB Magazine、ムック本)やWeb記事(CodeZine、@IT)をWingsProjectの1メンバーとして執筆させていただき、山田さん(ご夫妻)に監修いただきました。Codezineに掲載したDjangoチュートリアルやGoogleAppEngineの記事ははてなブックマークでホットエントリー入りもしました*1。
前置きはこのあたりにして、独習Pythonの特徴を紹介します。
対象者
- 入門書でPythonを動かしてみたが、知識が頭の中でまとまっていない人
- 他言語を知っていて新たにPythonを学ぶ人
- Pythonについて体系的な知識を学びたい人
Pythonの対応バージョン
3.8(この記事を書いた2020年8月時点で最新)
Pythonの文法を基本から応用までひととおり学ぶのに最適
Pythonプログラミングの入門書(たとえば、いちばんやさしいPythonの教本 人気講師が教える基礎からサーバサイド開発まで 「いちばんやさしい教本」シリーズ)を読んで、なんとなくプログラムを動かせるようになった次のステップは何をすればよいでしょうか。
それは、Pythonの文法や書き方をひととおり憶えることです。
入門書の次のステップとして自分のつくりたいプログラムをつくりながら都度文法を調べるという方法もあります。
しかし、その方法だとなんとなく動いてしまったために適切な書き方を知らないままになってしまい、悪い癖がつくなどの弊害が生まれます。
そのようなことにならないためには、入門書の次のステップとしてはPythonの文法を網羅的に学ぶのが良いでしょう。
独習PythonはPythonの基本からひとつひとつ丁寧に説明が始まり、応用レベルの文法まで解説されています。
応用的な内容として、特にオブジェクト指向構文については110ページを割いて丁寧に説明されています(10章、11章)。
オブジェクト指向はプログラミングのレベルを上げるための必須スキルなので、じっくり読んで理解できるまで取り組んでみるとよいでしょう。
学ぶペースとしては基本的な内容である1〜8章を1日1章ペースでさくっと進め、9章〜11章は1節ずつ自分のペースで読み進めていくのがよいでしょう。
ひととおり学んだ後もプログラミングのリファレンスとして活用できる
山田さんの書籍の特徴は、書籍が網羅的でかつシンプルにまとまっていることです。独習Pythonもその例外ではありません。
網羅的でかつシンプルな構成なので、ひととおり学んだ後もプログラミング時のリファレンスとして活用できます。
プログラミングのときに手元に置いておくと役に立つでしょう。
私もプログラミングが主な仕事のときは山田さんの書籍で学び、知識を身につけていました。特に新しい言語を学ぶ時は手元に書籍を置き、ことあるごとに読み返していました。
プログラミングで大事なことが随所に書かれている
プログラミングには「書くことはできるが書かないほうが良い書き方」があります。
「コードは他の人が最短時間で理解できるように書かなければならない」とはリーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)に書かれている「読みやすさの基本定理」です。
「書くことはできるが書かないほうが良い書き方」をしてしまうと、他の人(将来の自分も含む)がプログラムコードを理解するスピードが落ちてしまいます。
文法を学んだだけではこれに気づくことができず、実践の場でレビューされて初めて気づく(もしくは気づかないままプロダクトコードに埋め込まれてしまう)などといったことになりがちです。
独習Pythonでは文法を説明するだけでなく、どのように書いたら良いかという点についても折りに触れて説明されています。
この説明を理解することにより、学んだ文法を適切に使うことができるでしょう。
まとめ
Pythonプログラミングの入門書を読んだ次の書籍として独習Pythonで文法をひととおり学ぶことで、中級プログラマーへの土台をつくることができるでしょう。
網羅的かつ簡潔にまとまっていますので、他言語を知っている人がPythonを学ぶ際にも役立つ書籍です。
Pythonの本もいろいろ出ていますが、これからPythonをじっくり学びたい人には独習Pythonをおすすめしたいと思います。
WebでPythonを学びたい人は、オンラインPython学習サービスのPyQもありますので、よろしくお願いします。
*1:httpからhttpsへのURL変更でブックマーク数がリセットされてしまったのが残念です。