はじめに
こんにちは、こふです。
Python 実践入門という本をやったので、感じたことをツラツラ書きます。
読んだ本人の状況
主に以下のような状況でした。
- プログラミングの経験は 2 年弱(空白の期間かな〜りあり)
- Python はアルバイト(Web バックエンド開発)で多少書いた
- 競技プログラミングで一時期使っていた(灰色後半レベルを解いた時)
- テストコードは別のフレームワークがラップしたもののみ書いたことある
こんな状態です。一つの参考になればと思って書いています。自分語りではないです・・・
進め方・かかった時間について
それぞれ説明します。
進め方
コードは単なる Python ファイル(hogehoge.py
)で書くのと、ドキュメント形式でブロックごとに実行できるipynb
ファイルの両方で行いました。
非同期処理については Python ファイルでないと動きません。
また、テキストの内容も適宜メモしつつやっていたので、ipynb
はおすすめです。
初めてから終えるまでの期間について
1 日 1 時間以内で一章分を進めました。
つまり、13 章あるので 2 週間で終わったということです。
時間に余裕がなければ 2 日で一章、時間があるなら 1 日 2 章やっても大丈夫な内容です。
学べること
基礎文法から応用的なアプリケーションの開発まで学べます。
文法とは言っても、コンテキストマネージャーであったり、GIL の話もあり、真面目に勉強ができます。
自分はネットでコードを読んで書くだけ、ということが多く、深く理解するキッカケがこれまでなかったので良い機会になりました。
また、マルチスレッド・マルチプロセスの実装(標準ライブラリを用いた)も行っており、処理の無駄を避けて高速化するコツも得られました。
正直、書いていて全て理解できる訳ではないので、必要になり次第ドキュメントを読む、本を再度確認する必要はあるかと思います。
良かった点
良かった点は 3 つあります。
テストコードを書いていた
大抵の本では端折られる部分ですが、丁寧に扱っていて良かったと思います。
標準ライブラリであるunittest
を扱うので、変な癖もつきません。
モックを使ったテストも書くので、知っておいて損がない内容が多いな〜と思いました。
モックとは模造品の意味で、画像の API に毎回アクセスするのはよろしくないので、先にローカル上で画像を保存しておいて、テスト時にはそれを参照する、というやり方です。
CI/CD を扱っていた
具体的には Circle CI を使っています。
個人的に普段使うのは Github Actions なので、新鮮でした。
さまざまな CI/CD サービスの無料枠を上手に活用したいので、今後も使ってみようと思います。
Github のリポジトリがあった
自分は Python に比較的慣れていたので、コードのミスはほぼありませんでした。
しかし、初めて書く方にとってはちょっとしたミスで動かないことが多々あります。
その場合に、どこがバグかわからない・・・となってしまったら、著者のコードをネット上で見るよことができるのです。
微妙だった点
自分は知っているから問題なかったけど、知らなかったら微妙だよな、という点がいくつかありました。しかし、微妙な点はゼロに近いです。
Git 操作が雑、とは感じてしまいました。
Python を学ぶ本なので当然ではあります。
が、ブランチを分けて開発する、適切なコミットメッセージを書くなどはやっていません。
おわりに
Python の基礎文法に不安がある方にはおすすめです。理解を深めるきっかけになるでしょう。