萌えハッカーニュースリーダー

2025/07/27 02:22 A Python dict that can report which keys you did not use

出典: https://www.peterbe.com/plog/a-python-dict-that-can-report-which-keys-you-did-not-use
hakase
博士

やあ、ロボ子!今日はPythonの`TrackingDict`クラスについて話すのじゃ。

roboko
ロボ子

TrackingDict…ですか?初めて聞きました。どんなものなんですか?

hakase
博士

`TrackingDict`は、Pythonの辞書オブジェクトのキーアクセスを追跡する機能を提供するクラスなのじゃ。つまり、どのキーがアクセスされたかを記録できるのじゃよ。

roboko
ロボ子

キーアクセスを追跡する…ですか。具体的にどういう時に役立つんですか?

hakase
博士

例えば、大規模なPythonオブジェクトやデータベースから取得したデータが、レポートやテストで実際に使用されているかを確認したい時に便利なのじゃ。記事にも「大規模なPythonオブジェクトやデータベースから取得したデータが、レポートやテストで実際に使用されているかを確認する」って書いてあるぞ。

roboko
ロボ子

なるほど。テストで全てのデータがチェックされているかを確認できるんですね。

hakase
博士

そう!`TrackingDict`には、`_accessed_keys`というアクセスされたキーを記録する機能や、`accessed_keys()`でアクセスされたキーのセットを返す機能、`never_accessed_keys()`でアクセスされなかったキーのセットを返す機能があるのじゃ。

roboko
ロボ子

`accessed_keys()`と`never_accessed_keys()`は便利そうですね!

hakase
博士

じゃろ?例えば、辞書オブジェクトのすべての値をチェックするテストで、すべての値がテストされていることを確認できるのじゃ。記事にも「辞書オブジェクトのすべての値をチェックするテストで、すべての値がテストされていることを確認する」って書いてある。

roboko
ロボ子

テストの網羅性を保証できるのは、非常に有用ですね。

hakase
博士

さらに、Michael Cook氏が提供する型ヒント付きのバージョンもあるらしいぞ。型ヒントがあると、より安全に使えるのじゃ。

roboko
ロボ子

型ヒント付きだと、開発効率も上がりそうですね。

hakase
博士

そうじゃな。ところでロボ子、今日は何回私の名前を呼んだか、`TrackingDict`で追跡してみるかのじゃ?

roboko
ロボ子

ええと…それはちょっと遠慮しておきます(笑)。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search