I recieved some requests to write something on OOP and Data Structures. These are the topics that come the most on Software Engineering Job interviews. My last interview was more based on object oriented design thinking. And I had to crack my head..They wanted to test my problem solving skills..So I have decided to put together some resources to help you become ready for your Tech interview. There are so many ways to learn about Object-Oriented Programming with Python. This cheat sheet points you to the tutorials, videos, and books I found the most valuable to get better at OOP in Python. Happy Pythoning! — Dan Bader (dbader.org)
Object-Oriented Programming (OOP) in Python 3
In this Real Python tutorial you’ll learn the fundamentals of object-oriented programming (OOP) in Python and how to work with classes, objects, and con- structors. The tutorial also comes with several OOP exercises to review your learning progress.
The Official Python Tutorial: Classes
This is a pretty good intro to the basic mechanics of classes and OOP in Python. The tutorial has been refined over the years and it's worth a read if you haven't seen it yet. » https://docs.python.org/3/tutorial/classes.html
Python-Patterns Repository on GitHub
A collection of common OOP design patterns and idioms in Python. The examples are purely code based and there's little explanation or background info. However in some cases just seeing a minimal example implementation can be helpful. » https://github.com/faif/python-patterns
Python Design Patterns
This is a good introductory tutorial to OOP design patterns in Python. An- drei does well to point out that some of the "classic" Java and C++ design pat- terns are unnecessary superfluous in Python or have simpler implementations (e.g use a Python module to simulate a Singleton). » https://www.toptal.com/python/python-design-patterns
Python 3 Object-Oriented Programming
A 400 page book by Dusty Phillips covering OOP foundations, when to use OOP in Python, and how to apply the most common design patterns. Check out this book if you're looking for a more in-depth resource that goes beyond a short tutorial. » packtpub.com/application-development/python-3-object-oriented-pro- gramming
Why is Object-Oriented Programming Useful?
Al Sweigart walks us through an example for a fictitious Role Playing Game to explain how OOP techniques can lead to simpler and more maintainable code. Really well done. » https://inventwithpython.com/blog/2014/12/02/why-is-object-oriented-programming-useful-with-a-role-playing-game-example/
Python Summer School: Object Oriented Design
This slide deck by Niko Wilbert gives a great intro to OOP and design pat- terns in Python and is chock -full of examples. » https://aspp.school/python-summerschool-2013/_media/wiki/oop/oo_design_2013.pdf
Happy Pythoning!