'jonesrec pay for another example of object persistence in this booksee the sidebar in titled "why you will careclasses and persistenceon page it stores somewhat larger composite object in flat file with pickle instead of shelvebut the effect is similar for more details and examples for both pickles and shelvessee also (file basicsand ( string tool changes)other booksand python' manuals future directions and that' wrap for this tutorial at this pointyou've seen all the basics of python' oop machinery in actionand you've learned ways to avoid redundancy and its associated maintenance issues in your code you've built full-featured classes that do real work as an added bonusyou've made them real database records by storing them in python shelveso their information lives on persistently there is much more we could explore hereof course for examplewe could extend our classes to make them more realisticadd new kinds of behavior to themand so on giving raisefor instanceshould in practice verify that pay increase rates are between zero and one--an extension we'll add when we meet decorators later in this book you might also mutate this example into personal contacts databaseby changing the state information stored on objectsas well as the classesmethods used to process it we'll leave this suggested exercise open to your imagination we could also expand our scope to use tools that either come with python or are freely available in the open source worldguis as iswe can only process our database with the interactive prompt' commandbased interfaceand scripts we could also work on expanding our object database' usability by adding desktop graphical user interface for browsing and updating its records guis can be built portably with either python' tkinter (tkinter in xstandard library supportor third-party toolkits such as wxpython and pyqt tkinter ships with pythonlets you build simple guis quicklyand is ideal for learning gui programming techniqueswxpython and pyqt tend to be more complex to use but often produce higher-grade guis in the end websites although guis are convenient and fastthe web is hard to beat in terms of accessibility we might also implement website for browsing and updating recordsinstead of or in addition to guis and the interactive prompt websites can be constructed with either basic cgi scripting tools that come with pythonor fullfeatured third-party web frameworks such as djangoturbogearspylonsfuture directions