書籍レビュアーとして参加した、 #Python実践レシピ が発売になります

書籍レビュアーとして参加した「Python実践レシピ」が2022/01/13 (電子本)・2022/01/19 (物理本) に発売されます。
Pythonエンジニア育成推進協会監修 Python実践レシピ:書籍案内|技術評論社

 
先日、発売前の書籍をご恵贈いただきました。ありがとうございます。

(左) 今回の書籍、 (右) 改訂前の書影

 
そこで、この記事では書籍の紹介をしていきたいと思います。

 
目次

 

書籍について

想定読者

技術評論社のWebサイトでは「こんな方におすすめ」として

  • Pythonでプログラミングしている方
  • Pythonの基本的な文法を学習して,実際にプログラミングを行いたい方

を挙げています。

たしかに、プログラムやPythonに初めてさわるという方向けには書かれていないため、いきなり読んでも「よく分からない」となってしまいそうです。

 
一方、技術評論社のWebサイトでおすすめとされている方、例えば

  • 一度Pythonを書いてみて「Pythonをより使いこなしたい」と感じている方
  • 別の言語をさわっており「Pythonは batteries included と言われるが、ライブラリにはどんなものがあるか知りたい」と考えている方

であれば、よく目にする標準ライブラリやサードパーティライブラリが記載されているため、より深く知りたいという時のはじめの一歩として役に立つ場面は多そうです。

そういえば自分も、「Pythonでアプリケーションを書いてみたけど、Pythonでのメジャーなライブラリをより詳しく知りたい」と思ったときに、改訂前の書籍を手にとったことを思い出しました。

 
また、紹介されている標準ライブラリやサードパーティの数が多いため、Pythonをよく使っている方であっても、紹介されているライブラリやその使い方について新しい発見があると思います。

自分の場合は

19.1 イベントループでの非同期処理―asyncio

について、理解を深めることができました。

書籍では標準の asyncio ライブラリの他、それを取り巻くライブラリにも触れられていることから、「 asyncio を理解したら次は何をおさえたら良いか」が分かりやすかったです。

また、非同期処理(並行・並列処理)に関するイメージイラストが付いているため、頭の中に各処理の特徴を浮かべつつ本文を読み進めることができました。

 

内容

こちらも技術評論社のWebページより引用します。

Pythonでプログラムを作成するときに役立つ機能とライブラリを網羅した,実践的なレシピ集です。

 
取り上げられているライブラリは、標準モジュールのうちよく使うものおよび標準モジュールをカバーするようなものです。昔からあるメジャーなものに加え、Python3.9から追加されたIANAタイムゾーンデータベースを扱う zoneinfo があるなど、幅広く収録されています。

各ライブラリについて、どのようなライブラリかという解説からコマンドラインでの使い方まで記載されているため、「ライブラリについてどんな機能があるかをざっくりつかみたい」という時に辞書的に使えそうです。

また、各ライブラリのページには公式ドキュメントへのリンクがあります。そのため、「もう少し詳しく知りたいので公式ドキュメントを読みたいけどどこにあるんだっけ」となった時でも、記載されているリンク先を読めば解決します。

 
とはいえ、必要になった時に辞書的に使うChapterばかりではなく、

Chapter1 Pythonの環境

Chapter2 コーディング規約

あたりは、最初に読んでおいても良さそうだと感じました。

というのも

などの場合に、Pythonの環境を作りつつコーディング規約に従って書くことができる手助けになるためです。

 
他にも、似たようなライブラリ、例えば

  • urllib.requestRequest
  • unittestpytest

について、それらがどのように違うのかを比較することにも使えそうです。

 
自分の場合、テストコードでモックの作り方を忘れてしまうことがあるため、

16.3 モックを利用してユニットテストを行う―unittest.mock

にて

  • モックオブジェクトの作り方
  • patch関数の使い方
    • デコレータであったり、コンテキストマネージャであったり

などがまとまっているのでありがたいです。

 
以上が、書籍「Python実践レシピ」についての紹介です。

 

レビューについて

今回、初めてレビュアーになったため、その様子を残しておきます。

レビュアー参加のきっかけは @JunyaFff からのお誘いでした。ありがとうございました。

冒頭の画像にある改訂前の書籍について、自分がPythonをさわりたての頃にお世話になったため、レビュアーとして参加できることを嬉しく思いました。

 
ただ、初めてのレビュアーとなるため、どのように進めれば良いか不安でした。

そこで

あたりを読んでみました。

 
実際のレビュー期間に入ると、初めてのレビュアーにとってサポートが充実しているような体制に感じました。

例えば、レビュアー向けに資料が配布された上で説明会が開催されました。参加することでレビュアーとしてやること・やらないことが明確になりました。

また、レビューを進める上で気になったことはSlackで相談できたり、「どこをいつまでに」が明確であるなどもありがたかったです。

 
加えて、自分のレビューのほかに他の方のレビュー内容も同時に読めたこともありがたかったです。

経験豊富な方のレビューを読むことでレビューのやり方を学びつつ、書籍とは関係ない自分の文章も分かりやすくなっているか振り返る良い機会になりました。

 
そんな感じなのでうまくレビュアーがつとまったかどうかは分かりませんが、

  • ライブラリのメジャーバージョンアップをしたら、動作しなくなったソースコードを見つけたこと
    • 締め切り近いのに、著者の方が対応してくださり、ありがとうございました
  • レビュアーとして経験豊富な方から、「気になるポイントが似ている気がする」と言われたこと

などがあったことから、最低限の役割は果たせたかなと思いました。

貴重な機会をいただき、ありがとうございました。

 

最後に

この書籍を通して、Pythonの標準モジュールやサードパーティモジュールに対する理解が深まれば幸いです。

どうぞよろしくお願いします!