Pythonの技術書ってなんだかんだはじめて読んだかも。
Effective Python ―Pythonプログラムを改良する59項目
- 作者: Brett Slatkin,石本敦夫,黒川利明
- 出版社/メーカー: オライリージャパン
- 発売日: 2016/01/23
- メディア: 大型本
- この商品を含むブログ (5件) を見る
まだ2章までしか読んでいないけど、なんかPythonでいい感じの書き方ってどんななだろー? ま、いっか。うごくし。的なことを解決してくれていて、すごく面白く読み進めている。
ちゃんとした感想は読み終えたあとに書くが、ちょこちょこ( ゚д゚)ハッ!とした内容をメモしておく。
- bytes, str, unicodeの違いを知っておく
- Python2では誰しもハマるunicodeだけど、理解した上でヘルパー関数を用意して楽しよう
- よくエラーをキャッチしてはエラー文をググって15分消費するって感じだけど、この本では3Pで理解できる(はず
- イテレータを並列に処理するにはzipを使う
- これまでenumerateとか使っていたけど、そういえばzipがあった
- Noneを返すよりは例外を選ぶ
- Noneは条件式においてFalseなので、他の値(ゼロ、空文字列)もFalseに評価されるから想定外なケースを引き起こしやすい
- 例外を上げて、特別な条件を示すようにする。try ~ except使えってこと
- 動的なデフォルト引数を指定するときにはNoneとドキュメンテーション文字列を使う
- デフォルト引数は1度しか評価されない。モジュールロード時の関数定義の時だけ
- びびった話は
{}
とか[]
をいれても1度しか書記されない(なんだと?!! - なので、何度も実行した場合、値が初期化されず引き継がれ摩訶不思議なエラーになるとのこと
- この場合はデフォルト値をNoneにして、コメントで振る舞いを説明しないさいとのこと