Developed & Maintained by Hamna Munir
This repository is a complete OOP learning roadmap, starting from foundational concepts and progressing into intermediate, advanced, and project-based Python OOP development.
It is designed for:
- Students learning OOP
- Developers improving Python skills
- Job‑seekers preparing for interviews
- Anyone wanting clean, practical OOP knowledge
The structure is simple, scalable, and beginner-friendly, with each concept explained using real code examples.
Below is a well‑organized breakdown of all sections:
- What is a function
- Arguments, parameters
- Return values
- Lambda functions
- Recursion
- Nested functions
- Function vs Method
- What is OOP
- Class & object basics
- The
__init__method - Using
self - Benefits of OOP
- Instance vs class variables
- Instance, class, and static methods
- Practical examples
- Object lifecycle & destructor
- Public / Private / Protected
- Name mangling
- Getters & setters
- Encapsulation use cases
- Types of inheritance
- Method overriding
- Multiple & multilevel inheritance
- Hierarchical inheritance
- Real-world examples
- What is a module
- Creating & importing modules
- Function overloading
- Operator overloading
- Polymorphism in inheritance
- Practical examples
- What is abstraction
- Abstract Base Classes (ABC)
- Interfaces
- Hiding implementation details
- Dunder methods
__init__,__str____len__,__del__- Operator overloading
- Custom class representation
- What are decorators
- Function decorators
- Class decorators
- Generator functions
yield,next()- Generator expressions
- Real-world examples
Each project uses OOP + sometimes Streamlit for UI.
Includes:
- Deposit, withdraw, balance check
- Add students, show details, marks
- Add books
- Search
- Update, delete
- Full UI
- Add products
- Total price calculation
✔ Build strong OOP fundamentals
✔ Teach coding using real scenarios
✔ Demonstrate clean, modular design
✔ Help beginners become job-ready
✔ Provide reusable templates for future projects
- Python 3.x
- OOP Principles
- Streamlit (for UI-based projects)
- SQLite (for database projects)
Name: Hamna Munir
📌 Python Developer | AI/ML Learner | OOP Specialist
🔗 GitHub:
https://github.com/Hamna-Munir
🔗 LinkedIn:
https://www.linkedin.com/in/hamna-munir-6891a72a0/
This repository is currently maintained individually,
but suggestions and improvements are always welcome.
If you like this repository, please ⭐ star it on GitHub
It motivates and supports my continuous learning journey!