A comprehensive Python learning journey from basics to advanced concepts with hands-on examples and exercises
This repository documents my complete Python learning journey, covering everything from fundamental programming concepts to advanced object-oriented programming and numerical computing with NumPy. Perfect for beginners and intermediate learners looking for practical examples and exercises.
- Variables, data types, and operators
- Control structures (if/else, loops)
- Functions and scope
- Error handling and debugging
- File operations and I/O
- Classes and objects fundamentals
- Inheritance and method overriding
- Polymorphism and duck typing
- Encapsulation and data hiding
- Abstraction with abstract classes
- Multiple inheritance and MRO
- Special methods (
__str__
,__init__
, etc.)
- Array creation and manipulation
- Mathematical operations
- Broadcasting and vectorization
- Array indexing and slicing
- Statistical functions
- Python 3.7 or higher
- pip package manager
# Clone the repository
git clone https://github.com/fatin-israq/learn-py.git
cd learn-py
# Install required packages
pip3 install numpy jupyter
# For Jupyter notebooks
jupyter notebook
# Run Python scripts
python3 01-Python-Basics/variables_and_datatypes.py
# Open Jupyter notebooks
jupyter notebook 05-Object-Oriented-Programming/8.1-Classes-and-Objects.ipynb
- Start Here:
01-Python-Basics/
- Master the fundamentals - Level Up:
05-Object-Oriented-Programming/
- Dive into OOP concepts - Go Numerical:
NumPy-Examples/
- Explore scientific computing
- ✅ Hands-on Examples - Practical code you can run immediately
- ✅ Interactive Notebooks - Jupyter notebooks for better learning experience
- ✅ Progressive Difficulty - From beginner to intermediate concepts
- ✅ Real-world Applications - Examples based on common programming scenarios
- ✅ Best Practices - Clean, well-documented code following Python conventions
Technology | Purpose |
---|---|
Core programming language | |
Numerical computing | |
Interactive notebooks |
Feel free to contribute by:
- Adding new examples
- Improving existing code
- Fixing bugs or typos
- Suggesting better explanations
If you have questions or suggestions, feel free to reach out!
⭐ Star this repo if you find it helpful for your Python learning journey!
Happy Coding! 🚀