Qiita よりも翻訳記事を掲載するのに適した媒体があれば移行するかもしれません。また、このような記事が Qiita の利用規約や法律に抵触する場合は取り下げますのでご指摘いただけると助かります (無知ですみません)。
免責
- 素人の翻訳です。正しさは保証しません。 というかあまり訳す気がなく、ほぼ感想です
- しかも本文の翻訳と私の感想を区別する気があまりありません。どの部分が感想なのかは文脈から汲み取ってください・・・
- 抄訳です。自分が気になった記事だけを抜粋していますのでご注意ください
- 選んだ記事の中でも更に抜粋があります
- 気が乗ったら毎回やりますが負担が大きいのでサボることが多いと思う
バックナンバー
PyCoder's Weekly とは
いくつかある Python 関連の週次ニュースレターのひとつ。
公式サイトと購読はこちら:https://pycoders.com/
今週の記事は PyCoder’s Weekly | Issue #349 です
Python String Formatting Best Practices – Real Python
- Python のいろんな文字列フォーマッティングの使い分けベストプラクティスについての記事
- 記事最後の図がわかりやすいと思う
- ユーザ入力文字をフォーマットするなら
string.Template
で、Python 3.6+ なら f-string で、そうでなければstr.format
でやれという結論。'%s' % 'yes'
は古い方式なので使わない
- ユーザ入力文字をフォーマットするなら
Inside python dict — an explorable explanation
- Python の辞書 (
dict
) の CPython における実装を理解する- Python の辞書、という体になっているけど、ハッシュテーブルとかの一般的な説明としてわかりやすいと思った
- CPython ではハッシュテーブルに linear probing が使われている
- linear probing では空きスロットをヒットなしの判断に使うため、キーを削除するときは空きスロットにするのではなく「削除済み」オブジェクトで上書きする
- かしこい
- ハッシュテーブルをリサイズするときは、大きめのテーブルを再度作って再構築する
- もちろんこのとき計算済みのハッシュや重複の排除処理を考える必要はない
- 「削除済み」オブジェクトも必要ないのでテーブルの掃除もできる
- 再構築は重い処理だが、挿入/削除の実行頻度を考えれば大きな問題ではない
- linear probing では空きスロットをヒットなしの判断に使うため、キーを削除するときは空きスロットにするのではなく「削除済み」オブジェクトで上書きする