October 2017
Intermediate to advanced
832 pages
13h 34m
Japanese
ユーザのプログラムコードが明示的にディクショナリを使用していないときでも、実行中のPythonプログラムは同時にアクティブなディクショナリをたくさん持っています。
——A. M. Kuchling『Beautiful Code』, 18章「Python's Dictionary Implementation」より[EN-09][JP-04]
dict型はプログラムで広く使用されるだけでなく、Pythonの基盤も構成しています。モジュールの名前空間、クラスとインスタンスの属性、関数のキーワード引数といった基盤的な構造はディクショナリで実装されています。組み込み関数は__builtins__.__dict__にあります。
重要な役割を担っているため、Pythonのdictは高度に最適化されています。Pythonの高性能dictの背後にあるエンジンはハッシュテーブルです。
本章ではセット(set)もカバーしますが、それはセットもハッシュテーブルで実装されているからです。ハッシュテーブルの仕組みを知ることで、ディクショナリとセットを最大限に活用できるようになります。
本章の概要は次のとおりです。
dictのバリエーションset型およびfrozenset型collections.abcモジュールは、dictやこれに類似した型のインタフェースを形式化する抽象基底クラスであるMappingおよびMutableMappingを提供しています(Python 2.6から3.2では、これらのクラスは ...
Read now
Unlock full access