tchikuba's blog

クリエイティブが輝ける組織をエンジニアリングする

【書籍レビュー】「独習Python」を献本頂きました

技術書執筆者コミュニティのWINGSプロジェクト代表・山田祥寛さん著「独習Python」を献本頂いたのでレビューします。

なおこの記事の前提ですが、私はこれまで業務でPythonをゴリゴリ書いた経験は乏しく、読んだりデバッグ&修正のような感じの経験が多かったので、そもそもあまりPythonの言語仕様について詳しくありません。

今回の書籍レビューを通して、Pythonに関して体系的に知識を整理する良い機会となりました。

イントロダクションが充実している

山田さんの書籍全般に通じることですが、プログラミングが初めての方でもちゃんと歴史的な背景を学ぶことができるよう、丁寧にイントロダクションが記述されている印象でした。

プログラミングが全く初めての方でも、独学が得意な方であれば、これ1冊でPythonやプログラミングの基本的な概念を理解することができると思います。

細かい知識や用語の引き出しを持てる

私のように体系的にPythonを理解できていない方にとっては、特にPython特有の記法や概念をおさえることができて良かったです。

参考までに私がちゃんと理解していなかったものを列挙しておきます(Python特有のものではないものも含まれています)。

  • ジャグ配列
  • 切り捨て除算演算子の//
  • 各種内包表記
  • デコレーター
  • クロージャー
  • 関数のモジュール化
  • コルーチン

クラスの取り扱いはちょっと薄いような気がする

基本的にはPythonを学ぶ上で最初の書籍であることを想定しているからだと思いますが、オブジェクト指向の解説はちょっと駆け足かなと思いました。

Pythonでオブジェクト指向を本格的に学ぼうとする場合、決定本ってなんだろう?と思って軽くググってみましたが簡単には判別つかず😓

もしかしたら「オブジェクト指向設計実践ガイド」とかのが良いのかも?(Rubyだけどw)

番外編

多重継承

この書籍でも触れられていますが、 Pythonは多重継承を許容しています。

多重継承を許容しているプログラミング言語、他にはC++が有名ですが、その他って何があるんだろう?ってふと疑問に思いました。

言語仕様として多重継承はマイナーで、私がこれまで経験してきたプログラミング言語(主にC/PHP/JavaScript/Ruby)は許容していないこともあり、ちょっと気持ち悪いと感じてしまいますね😅

妻と恐竜

「妻クラスが恐竜(クラス)」ってなんか凄いものを見てしまった感じがしました😭

レビューは以上です。

私のように、その他のプログラミング言語の経験がある人が、体系的にPythonを学び直すのにもちょうど良さそうな1冊かと思いました。

気になる方はぜひ手にとってみてください😃