Wrócimy na chwilę do przeszłości. Za czasów, kiedy nie można było dziedziczyć wbudowanych typów danych np. słownika, powstawały tzw. klasy opakowujące, które pełniły te same fu............nkcjęfunkcję, co typy wbudowane, ale można je było dziedziczyć. Klasą opakowującą dla słownika była klasa <code>UserDict</code>, która nadal jest dostępna wraz z nowymi wersjami Pythona. Przyjrzenie się implementacji tej klasy może być dla nas cenną lekcją. Zatem zajrzyjmy do kodu źródłowego klasy <code>UserDict</code>, który znajdują się w module <code>UserDict</code>. Moduł ten z kolei jest przechowywany w katalogu <tt>lib</tt> instalacji Pythona, a pełna nazwa pliku to <tt>UserDict.py</tt> (nazwa modułu z rozszerzeniem <tt>.py</tt>).