Last update: 2016/12/21 21:00 https://www.python.org/de... 原書には番号はありませんが、識別用に番号をつけました 原文確認日以降の原文変更には追随するか不明です (2016/12/21) Programming Recommendations節 例: CPythonの a+=b や a = a+b 5. __eq__, __ne__, __lt__, __le__, __gt__, __ge__ を使う functions.total_ordering() decorate提供toolがある missing comparison methodsを生成 6. lambda expressionに関してdef表記を使う 例(悪い): f = lambda x : 2*x 例(良い): def f(x): return 2*x 7. Exceptionからexceptionsを引き出す 8. exception chainingを適切に使う inner exceptionについてなんたらかんたら 9. Python2: raise ValueError('message')を使う 古い形式: raise ValueError, 'message'は使わない 11. キャッチした例外のname bindingにはPython 2.6で追加されたexplicit name binding syntaxを使う 例: except Exception as exc: This is the only syntax supported in Python 3 説明の矛盾 (Python 2.6とPython 3)? 12. OSのエラーキャッチ時はexplicit exception hierarchyを使う 13. try/exception節において、try節は必要最小限のコードにする resourceが特定のsectionに結びつく場合 14. Context managersは個別の関数からコールされるべき with conn.begin_transaction(): 例1: 全部のreturnでexpressionを返す 17. .startswith()と .endswith()を使う 例(悪い): if foo[:3] == 'bar': 例(良い): if foo.starswith('bar') 18. Object type比較にはisinstance()を使う 例(悪い): if type(obj) is type(1): 例(良い): if isinstance(obj, int): 19. sequencesに対して、empty sequencesはfalseという事実を利用する 20. trailing whitespaceを多く持つstring literalsは使わない 21. bool値とTrue/Falseを==比較しない
×
Created using MindMup.com