Summary
In this chapter, we looked at the object-oriented programming paradigm and how it can benefit applications, and the way that classes can be combined into modules and used in other scripts.
We also had a brief introduction to multithreading and the best practices for ensuring data validity between the threads that access shared data.
In the next chapter, we will have a look at the setuptools
utility and see how it can be used to package the Python code for distribution to multiple systems, and how it can help manage dependencies on the other libraries.