Skip to content

Zurkovisk/python-by-example

Β 
Β 

Repository files navigation

Python Review Banner

🐍 Python Review

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

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 Description
01_print.py Print Function Output, formatting, f-strings, escape characters
02_comments.py Comments Single-line, multi-line, docstrings, best practices
03_variables.py Variables Assignment, naming conventions, multiple assignment
04_data_types.py Data Types Numbers, strings, booleans, type conversion

02. Control Flow

File Topic Description
01_if_else.py If/Else Conditionals, comparison operators, logical operators
02_elif.py Elif Multiple conditions, grading systems, ranges
03_match_case.py Match/Case Pattern matching (Python 3.10+), guards, unpacking

03. Loops

File Topic Description
01_for_loop.py For Loops Iteration, range(), enumerate(), zip()
02_while_loop.py While Loops Counters, sentinels, infinite loops
03_break_continue.py Loop Control break, continue, pass, for-else

04. Data Structures

File Topic Description
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

05. Functions

File Topic Description
01_function_basics.py Function Basics Defining functions, scope, docstrings
02_arguments.py Arguments Positional, keyword, *args, **kwargs, type hints
03_return_values.py Return Values Multiple returns, early returns, generators
04_lambda_functions.py Lambda Anonymous functions, map, filter, reduce

06. Modules & Packages

File Topic Description
01_imports.py Imports Import patterns, standard library, organization
02_custom_modules.py Custom Modules Creating modules, packages, __init__.py

07. Error Handling

File Topic Description
01_try_except.py Try/Except Exception handling, else, finally
02_custom_exceptions.py Custom Exceptions Creating exceptions, hierarchy, best practices

08. Object-Oriented Programming

File Topic Description
01_classes_objects.py Classes & Objects Attributes, methods, self
02_init_methods.py Init & Methods Constructors, properties, classmethods
03_inheritance.py Inheritance Single/multiple inheritance, super(), MRO
04_polymorphism.py Polymorphism Duck typing, operator overloading, protocols

09. Advanced Python

File Topic Description
01_list_comprehensions.py Comprehensions List, dict, set comprehensions
02_generators.py Generators Yield, iterators, memory efficiency
03_decorators.py Decorators Simple/parameterized decorators, functools
04_context_managers.py Context Managers with statement, __enter__/__exit__, contextlib

10. Best Practices

File Topic Description
01_pep8.py PEP 8 Python style guide, naming, formatting
02_type_hinting.py Type Hinting Type annotations, typing module, generics
03_virtual_envs.py Virtual Environments venv, pip, requirements.txt

πŸš€ Getting Started

  1. Clone the repository

    git clone https://github.com/blshaer/python_review.git
    cd python_review
  2. Start from basics

    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

Requirement Version Notes
Python 3.10+ Recommended (for match/case support)
Python 3.8+ Minimum (for most features)
# Check your Python version
python --version

οΏ½ File Structure

Each Python file follows a consistent structure:

"""
================================================================================
File: filename.py
Topic: Topic Name
================================================================================

Description of what the file covers...

Key Concepts:
- Concept 1
- Concept 2
- ...

================================================================================
"""

# -----------------------------------------------------------------------------
# Section 1: Basic Example
# -----------------------------------------------------------------------------
# ... code with inline comments ...

# -----------------------------------------------------------------------------
# Section 2: Advanced Example
# -----------------------------------------------------------------------------
# ... more code ...

πŸ—ΊοΈ Learning Path

🌱 Beginner πŸ“ˆ Intermediate πŸš€ Advanced πŸ’Ό Professional
  1. Basics
  2. Control Flow
  3. Loops
  1. Data Structures
  2. Functions
  3. Modules
  1. Error Handling
  2. OOP
  3. Advanced Python
  1. 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

πŸ“Š 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

About

A complete, folder-based guide to the Python language, from basics to advanced concepts, explained through clear, runnable code examples.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%