This is a short course on object oriented programming for Python programmers that is aimed at the intermediate level. The focus is on developing object-oriented thinking rather than the mechanics of how Python3 supports OOP.
Initial Advert:
I will be running a series of about half-a-dozen, short workshops under the heading of "Using Classes in Python" in the PyLab sessions - starting tomorrow. It's aimed at people who have had a bit of experience in programming in Python and are looking for the spark that can jump the gap and brings object-oriented programming to life.
I wanted to run them because a theme that I hear from people is that they don't get what classes are for in Python. Sure, they've read on forums that classes are supposed to be important but that's just empty words. Maybe they have done a few exercises, know the syntax, but - pffft - what's the point?
In these workshops, we'll be using Python to get under the skin of object oriented programming. The focus won't be on the mechanics of writing code, there's a wealth of on-line material that does that. Our destination is a proper understanding of why OOP has become so dominant, to develop a sixth-sense to 'see' the classes hidden inside procedural programs, and to reach a next-level grasp of encapsulation ... either that or a glorious failure!
Focus: Behaviour The running example is the Extract Ranges example from RosettaCode.
Focus: Overlapping Behaviour We continue with the Extract Ranges running example.
Focus: Object Life Cycles
- Partial vs total method
Focus: Organisation of Code
- Methods in Classes
- Core vs non-core
- Public vs private methods (behaviour vs implementation)
Focus: X-Ray Vision
- How to spot opportunities to identify & extract classes from code.
Focus: Enhanced X-Ray Vision
- How to transform function calls into objects and vice versa.
Focus: Data Encapsulation, Ownership and Part-Of relationships
Focus: SOLID
Focus: Design Patterns
- Builder Pattern
- State Pattern
- Session01 was given at Women's Tech Hub on Wed 22nd Sept 2021
- Session02 is planned for Women's Tech Hub for Wed 6th Oct 2021