Python 3 イディオム集

Python 3 でよく使うコードの書き方――いわゆる「イディオム」についてまとめてみました。


次のようなイディオムを 17 個ほど集めています。

not が含まれる条件式


not が含まれる条件式は人間が読んで読みやすい形(≒英語の語順に近い形)で書きます。

# ○:
if value is not None:
    ...

# ✕:
if not value is None:
    ...

コレクション系の値の非空チェック


listtupledict 等のコレクション系の値の非空チェックは名前を 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[:]

詳細はリンク先をお読みください。


できれば継続的に更新していきたい & 興味がある方の PR も受け付けていきたいと思い、今回は GitHub を使いました。

「これから Python を学びたい」「 Python 入門は終えた、これから Pythonic らしいコードを書いていきたい」という方のご参考になれば幸いです :)

0 件のコメント: