Python From Scratch is a structured learning repository that documents my journey of mastering Python through hands-on practice and real-world implementation.
The repository is organized into topic-based modules, beginning with Python fundamentals and progressing through Object-Oriented Programming, Advanced Python, NumPy, and Pandas. Each module contains well-documented notebooks, practical examples, coding exercises, and explanations designed to strengthen programming fundamentals and analytical thinking.
Whether you're starting your Python journey or revising important concepts, this repository serves as both a learning resource and a practical reference.
- 📚 Structured learning roadmap
- 💻 Hands-on coding examples
- 🧩 Problem-solving exercises
- 📝 Beginner-friendly explanations
- 📊 NumPy & Pandas practice
- 📂 Well-organized repository structure
- ✅ Clean and readable code
- 🚀 Regularly updated with new topics
Python-From-Scratch/
├── 01_Basics/
│ └── Python Fundamentals
│
├── 02_Intermediate/
│ └── Object-Oriented Programming
│
├── 03_Advanced/
│ └── Advanced Python Concepts
│
├── 04_NumPy/
│ └── Numerical Computing
│
├── 05_Pandas/
│ └── Data Manipulation & Analysis
│
├── .gitignore
├── requirements.txt
└── README.md
| Module | Description | Status |
|---|---|---|
| 01 Basics | Variables, Data Types, Operators, Loops, Functions, Strings, Collections | ✅ |
| 02 Intermediate | Classes, Objects, Inheritance, Polymorphism, Encapsulation, Abstraction | ✅ |
| 03 Advanced | Exception Handling, File Handling, Modules, Iterators, Generators, Decorators | 🔄 |
| 04 NumPy | Arrays, Indexing, Slicing, Reshaping, Broadcasting, Mathematical Operations | ✅ |
| 05 Pandas | Data Loading, Cleaning, Filtering, Transformation, Grouping, Merging, Analysis | ✅ |
- Variables
- Data Types
- Operators
- User Input
- Conditional Statements
- Loops
- Functions
- Strings
- Lists
- Tuples
- Dictionaries
- Sets
- Classes & Objects
- Constructors
- Instance Variables
- Methods
- Encapsulation
- Abstraction
- Inheritance
- Method Overriding
- Polymorphism
- Static Methods
- Class Methods
- Property Decorators
- Exception Handling
- File Handling
- Modules & Packages
- Iterators
- Generators
- Decorators
- Lambda Functions
- Regular Expressions
- Introduction
- Creating Arrays
- Array Properties
- Indexing & Slicing
- Reshaping
- Mathematical Operations
- Aggregation Functions
- Broadcasting
- Random Module
- Reading Data
- Saving Data
- Data Exploration
- Data Information
- Descriptive Statistics
- Selecting & Filtering
- Data Modification
- Handling Missing Data
- Interpolation
- Sorting
- Aggregation
- GroupBy
- Merging & Joining
- Concatenation
| Module | Status |
|---|---|
| Python Fundamentals | ✅ Complete |
| Object-Oriented Programming | ✅ Complete |
| Advanced Python | 🔄 In Progress |
| NumPy | ✅ Complete |
| Pandas | ✅ Complete |
- Build a strong foundation in Python programming.
- Master Object-Oriented Programming.
- Develop problem-solving and logical thinking skills.
- Learn Python libraries used in Data Analytics and Data Science.
- Write clean, maintainable, and reusable code.
- Prepare for coding interviews and technical assessments.
- Build real-world Python projects.
- Python 3
- NumPy
- Pandas
- Jupyter Notebook
- Visual Studio Code
- Git
- GitHub
This repository is intended for:
- Beginners learning Python
- Computer Science students
- Data Analyst aspirants
- Data Science learners
- Python developers revising core concepts
- Anyone preparing for coding interviews
| Metric | Value |
|---|---|
| Learning Modules | 5 |
| Libraries Covered | 2 |
| Repository Status | Active |
| Language | Python |
The code in this repository follows clean coding practices:
- Meaningful variable and function names
- Consistent coding style
- Beginner-friendly implementations
- Modular programming approach
- Well-commented examples
- Readable and maintainable code
This repository reflects my commitment to continuous learning and consistent coding practice. Every notebook and script is written to strengthen programming fundamentals, improve analytical thinking, and build practical skills that can be applied to software development, data analytics, and technical interviews.
Contributions, suggestions, and improvements are welcome.
If you'd like to contribute:
- Fork the repository
- Create a new branch
- Commit your changes
- Open a Pull Request
This project is licensed under the MIT License.
Aspiring Data Analyst | Python Developer | Data Analytics & Machine Learning Enthusiast
- GitHub: https://github.com/TanishMhatre124
- LinkedIn: https://www.linkedin.com/in/tanish-mhatre-80a955288