LoginSignup
1
1

More than 5 years have passed since last update.

【抄訳/感想】PyCoder's Weekly #349 - 2019/01/01

Posted at

Qiita よりも翻訳記事を掲載するのに適した媒体があれば移行するかもしれません。また、このような記事が Qiita の利用規約や法律に抵触する場合は取り下げますのでご指摘いただけると助かります (無知ですみません)。

免責

  • 素人の翻訳です。正しさは保証しません。 というかあまり訳す気がなく、ほぼ感想です
    • しかも本文の翻訳と私の感想を区別する気があまりありません。どの部分が感想なのかは文脈から汲み取ってください・・・
  • 抄訳です。自分が気になった記事だけを抜粋していますのでご注意ください
    • 選んだ記事の中でも更に抜粋があります
  • 気が乗ったら毎回やりますが負担が大きいのでサボることが多いと思う

バックナンバー

PyCoder's Weekly とは

いくつかある Python 関連の週次ニュースレターのひとつ。
公式サイトと購読はこちら:https://pycoders.com/
image.png

今週の記事は 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 では空きスロットをヒットなしの判断に使うため、キーを削除するときは空きスロットにするのではなく「削除済み」オブジェクトで上書きする
      • かしこい
    • ハッシュテーブルをリサイズするときは、大きめのテーブルを再度作って再構築する
      • もちろんこのとき計算済みのハッシュや重複の排除処理を考える必要はない
      • 「削除済み」オブジェクトも必要ないのでテーブルの掃除もできる
      • 再構築は重い処理だが、挿入/削除の実行頻度を考えれば大きな問題ではない
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1