Pythonのお勉強に使える書籍のまとめ
- 機械学習を勉強したいけどそもそもPython触ったことない人
- DjangoとかFlaskとかでPythonが必要になった人
そんな片方むけにプログラミング言語としてのPythonの勉強方法について記述します。
pythonでのプログラミング
読みやすいコードとは
- 一年後の自分にとっても、分かりやすい・読みやすい・簡潔なコードを書くように心がけましょう。人のコードを見たり、見て貰ったりするのは非常に貴重な経験になります。
- 関数やファイルは適度な行数で、コメントが多い場合は関数名や変数名で分かるように出来ないか検討してみましょう。リファクタリングで修正する場合はテストは必須です。
- [参考]段階を踏みつつリファクタリングしてみる: https://qiita.com/suzuki-hoge/items/220e36eb34b160ada527
- お勧め書籍「リーダブルコード」
ソースコードを読むとは
- ソースコードを読むとは、プログラムの動き・設計意図を理解することです。最初のうちはprintデバッグなど実際に動かして挙動を把握するのも大事と思います。
- ソースコードを読むための技術(チートシート)
オブジェクト指向
- オブジェクト指向とは(無理やり一言で言うと)プログラムの整理の仕方です。目的ごとの単位で関数やデータをまとめて、設計を理解・改善しやすくします。pythonでもクラスなど設計するときには意識した方が良いです。
- 【図解】オブジェクト指向とは?: https://26gram.com/what-is-object-oriented
デザインパターン
- デザインパターンとは(無理やり一言で言うと)プログラムを役割で分ける方法です。過去の良かった分け方を再利用しやすいように名前がついています。パターンを覚えると使ってみたくなる病になりますが、敢えて使わないもひとつのパターンと思います。pythonでもざっと概要は知っておいた方が役に立ちます。
- 事例で学ぶデザインパターン: https://www.ogis-ri.co.jp/otc/hiroba/technical/DesignPatternsWithExample/chapter01.html
テスト大事
- 仕事で書くプログラムは時に半分以上がテストコードになるほどテストは大事です。正しく動くかの確認からリファクタリング時にデグレ(バグが混入)しないかを確認など、良いコードには常にテストが伴います。TDDなんてものもあります。
ソースコードの扱い
コーディングガイドライン
- 仕事で書くコードは我流では無く、皆んなが見やすいルールに従って書きます。
- 基本、flake8などlintツールを使用して開発しましょう。プロジェクトによってはblackも推奨なので要確認。
- コーディング規約については別記事でしっかり解説したいと思います。
プログラミングの更なる勉強方法
プログラミング上級者に向けて
- お勧め書籍 「Effective Python」
- お勧め書籍 「達人プログラマー」