Python 3 でよく使うコードの書き方――いわゆる「イディオム」についてまとめてみました。
次のようなイディオムを 17 個ほど集めています。
not
が含まれる条件式
not
が含まれる条件式は人間が読んで読みやすい形(≒英語の語順に近い形)で書きます。
# ○:
if value is not None:
...
# ✕:
if not value is None:
...
コレクション系の値の非空チェック
list
・ tuple
・ dict
等のコレクション系の値の非空チェックは名前を if
文に直接渡して行います。
links = magical_func_collecting_links(url)
# ○:
if links:
...
# ✕:
if len(links):
...
# ✕:
if len(links) > 0:
...
list
のコピー
list
のコピー(複製)には copy()
メソッドを使用します。
alist = [...]
# ○:
cloned_list = alist.copy()
Python 3.3 未満( 3.2 以下)のバージョンでは copy()
メソッドが提供されていないので次の書き方を使います。
alist = [...]
# ○:
cloned_list = alist[:]
詳細はリンク先をお読みください。
「これから Python を学びたい」「 Python 入門を終えてこれから Pythonic らしいコードを書いていきたい」という方のご参考になれば幸いです :D