Contents
はじめに
どうも,たける@typememo です.
Python PEP8 プログラミングに関する注意事項についてです.
プログラミングに関する注意事項
文字列連結は ''.join()
を使って実装すべし.
常に is
is not
を使って実装すべし.
not ... is ...
ではなく ... is not ...
を使って実装すべし.
# 正しい:
if foo is not None:
# 間違い:
if not foo is None:
ラムダ式は常に def
を使って実装すべし.
# 正しい:
def f(x): return 2*x
# 間違い:
f = lambda x: 2*x
例外の書き方が結構多く書かれていたが,例外をちゃんと実装したことないので理解できなかった.
return
文は一貫した書き方をすべし.
式を返している return
文が関数の中にある場合は,
値を何も返さない return
文は明示的に return None
と書くべし.
string モジュールよりも文字列メソッドを使うべし.
文字列のスライシングは使わず ''.startswith()
と ''.endswith()
を使うべし.
# 正しい:
if foo.startswith('bar'):
# 間違い:
if foo[:3] == 'bar':
オブジェクトの型の比較は isinstance()
を使うべし.
# 正しい:
if isinstance(obj, int):
# 間違い:
if type(obj) is type(1):
シーケンス (文字列,リスト,タプル) については,空のシーケンスが False であることを利用すべし.
# 正しい:
if not seq:
if seq:
# 間違い:
if len(seq):
if not len(seq):
行末の空白文字に依存した文字列リテラルを書くべきではない.
ブール型の値と True や False を比較するのに ==
は使うな.
# 正しい:
if greeting:
# 間違い:
if greeting == True:
# 間違い:
if greeting is True:
try ... finally
の組み合わせの中で,finally の外に脱出する制御構文に
return
/break
/continue
を使うべきではない.
おわりに
最後までお読みいただきありがとうございました.
愛用品
- Xiser Pro Trainer (ステッパー)
- HHKB Professional 墨 (キーボード)
- HHKB キートップセット 白 (キートップ)
- Apple Magic Mouse 2 (マウス)
- Apple MacMini (PC)
- iiyama Display 27inch FullHD (ディスプレイ)
- KINTO UNITEA 550ml (コップ)