eyecatch thumbnail

Python PEP8 プログラミングに関する注意事項

Profile picture
Takeru Yamada
2020.12.25

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 を使うべきではない.


おわりに

親ページに戻る

最後までお読みいただきありがとうございました.


愛用品


関連記事