Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

🐍 Python Object-Oriented Programming (OOP) Concepts

Python Jupyter Status

A beginner-friendly repository covering the core concepts of Object-Oriented Programming (OOP) in Python through detailed explanations, examples, and Jupyter notebooks.

This repository serves as both learning notes and an interview preparation resource for Python developers, Data Scientists, and Machine Learning enthusiasts.


📖 Topics Covered

✅ Classes & Objects

✅ Instance Methods

✅ Class Methods

✅ Static Methods

✅ Constructors (__init__)

✅ Encapsulation

✅ Inheritance

✅ Polymorphism

✅ Abstraction

✅ Iterators

✅ Generators

✅ Multithreading Basics


📂 Repository Structure

Python_OOP_Concepts/
│
├── notebooks/
│   ├── 01_Class_Methods_Objects.ipynb
│   ├── 02_Encapsulation.ipynb
│   ├── 03_Inheritance.ipynb
│   ├── 04_Polymorphism.ipynb
│   ├── 05_Abstraction.ipynb
│   └── 06_Iterators_Generators_Multithreading.ipynb
│
├── requirements.txt
└── README.md

🚀 Getting Started

Clone Repository

git clone https://github.com/<your-username>/Python_OOP_Concepts.git

cd Python_OOP_Concepts

Create Virtual Environment

Windows

python -m venv venv

venv\Scripts\activate

Linux / macOS

python3 -m venv venv

source venv/bin/activate

Install Dependencies

pip install -r requirements.txt

Launch Jupyter Notebook

jupyter notebook

or

jupyter lab

🎯 Learning Objectives

By completing these notebooks, you will understand:

  • Object-Oriented Programming principles
  • Writing reusable Python code
  • Designing classes and objects
  • Method overloading concepts
  • Code abstraction
  • Encapsulation and data hiding
  • Inheritance hierarchy
  • Runtime polymorphism
  • Python iterators and generators
  • Basics of multithreading

💡 Why Learn OOP?

Object-Oriented Programming is widely used in Python libraries such as:

  • Scikit-Learn
  • TensorFlow
  • PyTorch
  • Django
  • Flask
  • Pandas

Understanding OOP makes it easier to read, extend, and build production-ready Python applications.


🎓 Who Is This Repository For?

  • Python Beginners
  • Computer Science Students
  • Data Science Aspirants
  • Machine Learning Engineers
  • Interview Preparation
  • Anyone learning Python OOP

📚 Prerequisites

  • Basic Python
  • Variables
  • Functions
  • Loops
  • Conditional Statements

🔮 Future Improvements

  • Design Patterns
  • SOLID Principles
  • Magic (Dunder) Methods
  • Exception Handling
  • File Handling using OOP
  • Mini OOP Projects
  • Advanced Multithreading
  • Multiprocessing
  • Decorators
  • Context Managers

🤝 Contributing

Contributions, suggestions, and improvements are welcome.

Feel free to fork the repository and submit a pull request.


⭐ Support

If you found this repository helpful, please consider giving it a ⭐ on GitHub.


👨‍💻 Author

Akash Salunkhe

GitHub: https://github.com/its-AkashSalunkhe

LinkedIn: https://www.linkedin.com/in/akash-salunkhe-7902673b5/?skipRedirect=true

About

A practical repository demonstrating Object-Oriented Programming (OOP) concepts in Python through clear examples, notebooks, and hands-on implementations.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages