From 8cfb9fd7447e889e238a28c16c69dd26c86e5a08 Mon Sep 17 00:00:00 2001 From: blshaer Date: Tue, 30 Dec 2025 09:12:02 +0200 Subject: [PATCH] docs: overhaul README with new sections, detailed topic descriptions, and improved formatting. --- README.md | 277 ++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 205 insertions(+), 72 deletions(-) diff --git a/README.md b/README.md index fe9d25a..c1537e2 100644 --- a/README.md +++ b/README.md @@ -1,98 +1,163 @@ -# Python Review - Complete Tutorial +

+ Python Review Banner +

-A comprehensive Python tutorial covering everything from basics to advanced topics. -Each file is self-contained with detailed explanations and executable examples. +

🐍 Python Review

-## πŸ“š Topics Covered +

+ A Comprehensive Python Tutorial from Basics to Advanced +

+ +

+ Python Version + License + Status +

+ +

+ Each file is self-contained with detailed explanations and executable examples. +

+ +--- + +## οΏ½ Table of Contents + +- [Overview](#-overview) +- [Topics Covered](#-topics-covered) +- [Getting Started](#-getting-started) +- [Prerequisites](#-prerequisites) +- [File Structure](#-file-structure) +- [Learning Path](#-learning-path) + +--- + +## 🎯 Overview + +This repository contains a complete Python tutorial designed for both beginners and experienced developers looking to refresh their knowledge. Each topic is organized in separate folders with practical, runnable examples. + +**Key Features:** +- βœ… **Self-contained files** β€” Each file can be run independently +- βœ… **Comprehensive comments** β€” Detailed explanations for every concept +- βœ… **Practical examples** β€” Real-world use cases and patterns +- βœ… **Progressive difficulty** β€” From basics to advanced topics + +--- + +## οΏ½πŸ“š Topics Covered ### 01. Basics -| File | Topic | -|------|-------| -| `01_print.py` | Print function, formatting, escape characters | -| `02_comments.py` | Single-line, multi-line comments, docstrings | -| `03_variables.py` | Variable assignment, naming, multiple assignment | -| `04_data_types.py` | Numbers, strings, booleans, type conversion | +| File | Topic | Description | +|:-----|:------|:------------| +| [`01_print.py`](./01_basics/01_print.py) | Print Function | Output, formatting, f-strings, escape characters | +| [`02_comments.py`](./01_basics/02_comments.py) | Comments | Single-line, multi-line, docstrings, best practices | +| [`03_variables.py`](./01_basics/03_variables.py) | Variables | Assignment, naming conventions, multiple assignment | +| [`04_data_types.py`](./01_basics/04_data_types.py) | Data Types | Numbers, strings, booleans, type conversion | ### 02. Control Flow -| File | Topic | -|------|-------| -| `01_if_else.py` | Conditionals, comparison operators, logical operators | -| `02_elif.py` | Multiple conditions, grading systems, ranges | -| `03_match_case.py` | Pattern matching (Python 3.10+), guards, unpacking | +| File | Topic | Description | +|:-----|:------|:------------| +| [`01_if_else.py`](./02_control_flow/01_if_else.py) | If/Else | Conditionals, comparison operators, logical operators | +| [`02_elif.py`](./02_control_flow/02_elif.py) | Elif | Multiple conditions, grading systems, ranges | +| [`03_match_case.py`](./02_control_flow/03_match_case.py) | Match/Case | Pattern matching (Python 3.10+), guards, unpacking | ### 03. Loops -| File | Topic | -|------|-------| -| `01_for_loop.py` | For loops, range(), enumerate(), zip() | -| `02_while_loop.py` | While loops, counters, sentinels, infinite loops | -| `03_break_continue.py` | Loop control, break, continue, pass, for-else | +| File | Topic | Description | +|:-----|:------|:------------| +| [`01_for_loop.py`](./03_loops/01_for_loop.py) | For Loops | Iteration, range(), enumerate(), zip() | +| [`02_while_loop.py`](./03_loops/02_while_loop.py) | While Loops | Counters, sentinels, infinite loops | +| [`03_break_continue.py`](./03_loops/03_break_continue.py) | Loop Control | break, continue, pass, for-else | ### 04. Data Structures -| File | Topic | -|------|-------| -| `01_lists.py` | Lists, indexing, slicing, methods, comprehensions | -| `02_tuples.py` | Tuples, immutability, unpacking, named tuples | -| `03_sets.py` | Sets, operations, frozen sets, practical uses | -| `04_dictionaries.py` | Dictionaries, methods, nesting, comprehensions | +| File | Topic | Description | +|:-----|:------|:------------| +| [`01_lists.py`](./04_data_structures/01_lists.py) | Lists | Indexing, slicing, methods, comprehensions | +| [`02_tuples.py`](./04_data_structures/02_tuples.py) | Tuples | Immutability, unpacking, named tuples | +| [`03_sets.py`](./04_data_structures/03_sets.py) | Sets | Operations, frozen sets, practical uses | +| [`04_dictionaries.py`](./04_data_structures/04_dictionaries.py) | Dictionaries | Methods, nesting, comprehensions | ### 05. Functions -| File | Topic | -|------|-------| -| `01_function_basics.py` | Defining functions, scope, docstrings, nested functions | -| `02_arguments.py` | Positional, keyword, *args, **kwargs, type hints | -| `03_return_values.py` | Returns, multiple returns, early returns, generators | -| `04_lambda_functions.py` | Lambda, map, filter, reduce, functional patterns | +| File | Topic | Description | +|:-----|:------|:------------| +| [`01_function_basics.py`](./05_functions/01_function_basics.py) | Function Basics | Defining functions, scope, docstrings | +| [`02_arguments.py`](./05_functions/02_arguments.py) | Arguments | Positional, keyword, *args, **kwargs, type hints | +| [`03_return_values.py`](./05_functions/03_return_values.py) | Return Values | Multiple returns, early returns, generators | +| [`04_lambda_functions.py`](./05_functions/04_lambda_functions.py) | Lambda | Anonymous functions, map, filter, reduce | ### 06. Modules & Packages -| File | Topic | -|------|-------| -| `01_imports.py` | Import patterns, standard library, module organization | -| `02_custom_modules.py` | Creating modules, packages, __init__.py, __name__ | +| File | Topic | Description | +|:-----|:------|:------------| +| [`01_imports.py`](./06_modules_packages/01_imports.py) | Imports | Import patterns, standard library, organization | +| [`02_custom_modules.py`](./06_modules_packages/02_custom_modules.py) | Custom Modules | Creating modules, packages, `__init__.py` | ### 07. Error Handling -| File | Topic | -|------|-------| -| `01_try_except.py` | try/except/else/finally, catching exceptions | -| `02_custom_exceptions.py` | Creating exceptions, hierarchy, best practices | +| File | Topic | Description | +|:-----|:------|:------------| +| [`01_try_except.py`](./07_error_handling/01_try_except.py) | Try/Except | Exception handling, else, finally | +| [`02_custom_exceptions.py`](./07_error_handling/02_custom_exceptions.py) | Custom Exceptions | Creating exceptions, hierarchy, best practices | ### 08. Object-Oriented Programming -| File | Topic | -|------|-------| -| `01_classes_objects.py` | Classes, objects, attributes, methods, self | -| `02_init_methods.py` | Constructors, properties, classmethods | -| `03_inheritance.py` | Single/multiple inheritance, super(), MRO, ABC | -| `04_polymorphism.py` | Duck typing, operator overloading, protocols | +| File | Topic | Description | +|:-----|:------|:------------| +| [`01_classes_objects.py`](./08_oop/01_classes_objects.py) | Classes & Objects | Attributes, methods, self | +| [`02_init_methods.py`](./08_oop/02_init_methods.py) | Init & Methods | Constructors, properties, classmethods | +| [`03_inheritance.py`](./08_oop/03_inheritance.py) | Inheritance | Single/multiple inheritance, super(), MRO | +| [`04_polymorphism.py`](./08_oop/04_polymorphism.py) | Polymorphism | Duck typing, operator overloading, protocols | ### 09. Advanced Python -| File | Topic | -|------|-------| -| `01_list_comprehensions.py` | List, dict, set comprehensions, generators | -| `02_generators.py` | Yield, iterators, memory efficiency, pipelines | -| `03_decorators.py` | Simple/parameterized decorators, functools | -| `04_context_managers.py` | with statement, __enter__/__exit__, contextlib | +| File | Topic | Description | +|:-----|:------|:------------| +| [`01_list_comprehensions.py`](./09_advanced_python/01_list_comprehensions.py) | Comprehensions | List, dict, set comprehensions | +| [`02_generators.py`](./09_advanced_python/02_generators.py) | Generators | Yield, iterators, memory efficiency | +| [`03_decorators.py`](./09_advanced_python/03_decorators.py) | Decorators | Simple/parameterized decorators, functools | +| [`04_context_managers.py`](./09_advanced_python/04_context_managers.py) | Context Managers | with statement, `__enter__`/`__exit__`, contextlib | ### 10. Best Practices -| File | Topic | -|------|-------| -| `01_pep8.py` | Python style guide, naming, formatting | -| `02_type_hinting.py` | Type annotations, typing module, generics | -| `03_virtual_envs.py` | venv, pip, requirements.txt, project setup | +| File | Topic | Description | +|:-----|:------|:------------| +| [`01_pep8.py`](./10_best_practices/01_pep8.py) | PEP 8 | Python style guide, naming, formatting | +| [`02_type_hinting.py`](./10_best_practices/02_type_hinting.py) | Type Hinting | Type annotations, typing module, generics | +| [`03_virtual_envs.py`](./10_best_practices/03_virtual_envs.py) | Virtual Environments | venv, pip, requirements.txt | -## πŸš€ How to Use +--- -1. **Start from basics**: Begin with `01_basics` and work your way up -2. **Run the files**: Each file is executable: `python 01_print.py` -3. **Read the comments**: Each section is thoroughly explained -4. **Experiment**: Modify the code and observe the results +## πŸš€ Getting Started + +1. **Clone the repository** + ```bash + git clone https://github.com/blshaer/python_review.git + cd python_review + ``` + +2. **Start from basics** + ```bash + cd 01_basics + python 01_print.py + ``` + +3. **Read the comments** β€” Each section is thoroughly explained + +4. **Experiment** β€” Modify the code and observe the results + +--- ## πŸ› οΈ Prerequisites -- Python 3.10+ recommended (for match/case support) -- Python 3.8+ minimum (for most features) +| Requirement | Version | Notes | +|:------------|:--------|:------| +| Python | 3.10+ | Recommended (for match/case support) | +| Python | 3.8+ | Minimum (for most features) | -## πŸ“ File Structure +```bash +# Check your Python version +python --version +``` + +--- + +## οΏ½ File Structure + +Each Python file follows a consistent structure: -Each file follows this structure: ```python """ ================================================================================ @@ -110,21 +175,89 @@ Key Concepts: ================================================================================ """ +# ----------------------------------------------------------------------------- # Section 1: Basic Example +# ----------------------------------------------------------------------------- # ... code with inline comments ... +# ----------------------------------------------------------------------------- # Section 2: Advanced Example +# ----------------------------------------------------------------------------- # ... more code ... ``` -## βœ… Learning Path +--- + +## πŸ—ΊοΈ Learning Path + + + + + + + + + + + + + + +
🌱 BeginnerπŸ“ˆ IntermediateπŸš€ AdvancedπŸ’Ό Professional
+ +1. [Basics](./01_basics/) +2. [Control Flow](./02_control_flow/) +3. [Loops](./03_loops/) + + + +4. [Data Structures](./04_data_structures/) +5. [Functions](./05_functions/) +6. [Modules](./06_modules_packages/) + + + +7. [Error Handling](./07_error_handling/) +8. [OOP](./08_oop/) +9. [Advanced Python](./09_advanced_python/) + + + +10. [Best Practices](./10_best_practices/) + +
``` -Beginner: 01_basics β†’ 02_control_flow β†’ 03_loops -Intermediate: 04_data_structures β†’ 05_functions β†’ 06_modules -Advanced: 07_error_handling β†’ 08_oop β†’ 09_advanced -Professional: 10_best_practices +πŸ“Œ Recommended Flow: +Beginner β†’ 01_basics β†’ 02_control_flow β†’ 03_loops +Intermediate β†’ 04_data_structures β†’ 05_functions β†’ 06_modules +Advanced β†’ 07_error_handling β†’ 08_oop β†’ 09_advanced +Professional β†’ 10_best_practices ``` --- -*Happy Learning! 🐍* + +## πŸ“Š Progress Tracker + +Use this checklist to track your learning progress: + +- [ ] **01. Basics** β€” Print, Comments, Variables, Data Types +- [ ] **02. Control Flow** β€” If/Else, Elif, Match/Case +- [ ] **03. Loops** β€” For, While, Break/Continue +- [ ] **04. Data Structures** β€” Lists, Tuples, Sets, Dictionaries +- [ ] **05. Functions** β€” Basics, Arguments, Returns, Lambda +- [ ] **06. Modules & Packages** β€” Imports, Custom Modules +- [ ] **07. Error Handling** β€” Try/Except, Custom Exceptions +- [ ] **08. OOP** β€” Classes, Init, Inheritance, Polymorphism +- [ ] **09. Advanced Python** β€” Comprehensions, Generators, Decorators +- [ ] **10. Best Practices** β€” PEP8, Type Hints, Virtual Environments + +--- + +

+ Happy Learning! 🐍✨ +

+ +

+ Made with ❀️ by Baraa +