class List(Base): def __init__(self, parent): Base.__init__(self, parent) self.__pers_list = PersistentList() def show(self): for x in self: print x def __repr__(self): return self.__pers_list.__repr__() def __getitem__(self, key): return self.__pers_list.__getitem__(key) def __len__(self): return self.__pers_list.__len__() def __getattr__(self, name): if name in [ "append", "extend", "insert", "pop", "remove", "reverse", "sort" ]: return getattr(self.__pers_list, name) return Base.__getattr__(self, name)