A structured, self-paced journey through Python — from fundamentals to advanced programming. This repository serves as both a learning log and a personal reference, tracking progress across core Python concepts with clean, well-commented code examples.
Status: 🟢 Fundamentals — ✅ Done | 🔵 OOP — 🔄 Up Next | 🟡 Intermediate — ⏳ Pending | 🔴 Advanced — ⏳ Pending
Python-Refresh/
│
├── 01_Fundamentals/
│ ├── 01_FirstCode.py
│ ├── 02_TheBasics.py
│ ├── 03_PythonLists.py
│ ├── 04_Typecasting.py
│ ├── 05_UserInput.py
│ ├── 06_Operators.py
│ ├── 07_lists_and_tuples.py
│ ├── 08_dictionaries_and_sets.py
│
├── 02_OOP/
│ ├── 01_classes_and_objects.py
│ ├── 02_inheritance.py
│ ├── 03_polymorphism.py
│ ├── 04_encapsulation.py
│ ├── 05_abstraction.py
│ ├── 06_magic_methods.py
│ ├── 07_class_and_static_methods.py
│
├── 03_Intermediate/
│ ├── 01_comprehensions.py
│ ├── 02_generators_and_iterators.py
│ ├── 03_decorators.py
│ ├── 04_context_managers.py
│ ├── 05_error_handling.py
│ ├── 06_modules_and_packages.py
│ ├── 07_regex.py
│ ├── 08_lambdas_and_functional.py
│
├── 04_Advanced/
│ ├── 01_multithreading_and_multiprocessing.py
│ ├── 02_asyncio.py
│ ├── 03_metaclasses.py
│ ├── 04_descriptors.py
│ ├── 05_memory_management.py
│ ├── 06_design_patterns.py
│ ├── 07_testing_with_pytest.py
│ ├── 08_type_hints_and_annotations.py
│
├── resources.md
└── README.md
The building blocks of Python. Covers syntax, data types, control flow, functions, and basic I/O.
| Topic | File |
|---|---|
| Variables & Data Types | 02_TheBasics.py |
| Lists & Tuples | `` |
| Dictionaries & Sets | `` |
| Control Flow (if/elif/else) | `` |
| Loops (for, while) | `` |
| Functions & Scope | `` |
| String Manipulation | `` |
| File Handling | `` |
A deep dive into OOP principles — classes, objects, inheritance, and more.
| Topic | File |
|---|---|
| Classes & Objects | 01_classes_and_objects.py |
| Inheritance | 02_inheritance.py |
| Polymorphism | 03_polymorphism.py |
| Encapsulation | 04_encapsulation.py |
| Abstraction | 05_abstraction.py |
| Magic / Dunder Methods | 06_magic_methods.py |
| Class & Static Methods | 07_class_and_static_methods.py |
Idiomatic Python and powerful standard-library features.
| Topic | File |
|---|---|
| List/Dict/Set Comprehensions | 01_comprehensions.py |
| Generators & Iterators | 02_generators_and_iterators.py |
| Decorators | 03_decorators.py |
| Context Managers | 04_context_managers.py |
| Error Handling & Exceptions | 05_error_handling.py |
| Modules & Packages | 06_modules_and_packages.py |
| Regular Expressions | 07_regex.py |
| Lambdas & Functional Tools | 08_lambdas_and_functional.py |
Performance, concurrency, metaprogramming, and production-level Python.
| Topic | File |
|---|---|
| Multithreading & Multiprocessing | 01_multithreading_and_multiprocessing.py |
| Async I/O (asyncio) | 02_asyncio.py |
| Metaclasses | 03_metaclasses.py |
| Descriptors | 04_descriptors.py |
| Memory Management & GC | 05_memory_management.py |
| Design Patterns | 06_design_patterns.py |
| Testing with pytest | 07_testing_with_pytest.py |
| Type Hints & Annotations | 08_type_hints_and_annotations.py |
[✅] Fundamentals → [🔄] OOP → [⏳] Intermediate → [⏳] Advanced
After this repository is complete, the next repositories in this series will be:
- 🔲 C/C++ — Systems programming fundamentals
- 🔲 DSA — Data Structures & Algorithms from scratch
- 🔲 LeetCode — Problem solving, patterns & solutions
- 🔲 Codeforces — Competitive programming
Requirements: Python 3.10+
# Clone the repository
git clone https://github.com/am-robin11/Python-Programming-Fundamentals.git
cd Python-Programming-Fundamentals
# Run any file directly
python 01_Fundamentals/01_variables_and_datatypes.pyNo external dependencies are required for most files. Any file that needs third-party libraries will mention it in a comment at the top.
- Every file is self-contained and heavily commented for clarity.
- Files are numbered to reflect a logical learning order within each section.
- Each section folder has its own
README.mdwith a short summary of what was covered. - This repo is a living document — it will be updated as each section is completed.
Your Name
- GitHub: [@Ajher Mahmud]