Edocti
Advanced Technical Training for the Software Engineer of Tomorrow
Edocti Training

Advanced Python Topics (Python 3)

Advanced
21 h
4.7 (522 reviews)
Advanced Python Topics (Python 3)

Advanced Python in depth: master modern features of Python 3 for robust, clean applications.

Hands-on practice with generators, coroutines, typing, context managers and decorators.

Apply best practices in concurrency, design patterns and performance tuning.

Gain practical experience via ~70% coding labs and real project exercises.

How this helps: build reliable, maintainable Python systems used in production.

Who it’s for: designed for individuals with Python basics seeking advanced programming skills.

Optional topics include metaprogramming, async frameworks and packaging.

Curriculum

Introduction
  • Setup and first lines of code
  • Python syntax fundamentals
  • Python 2 → 3 differences (short recap)
  • Main data types & typing mechanism (str/bytes/unicode, numbers, sequences)
  • Basic I/O in Python
More I/O
  • Working with CSV, XML, JSON, PDF
  • File locks; seeking; safe writes (temp files) and simple rollback patterns
  • Binary files and serialization (struct, pickle); endianness and framing
  • pathlib essentials for files & paths (enrichment)
Practical functional programming in Python
  • First-class functions; map/reduce/filter (2 vs 3 caveats)
  • List/dict/set comprehensions; generator expressions
  • Anonymous functions (lambdas); closures; partial application
  • Function annotations; brief type-checking notes
  • Iterators & itertools (enrichment)
Practical OOP in Python
  • Classes/objects; inheritance & multiple inheritance
  • Special methods; operator overloading; functors
  • Decorators for methods and classes
  • Achieving ‘const-ness’ intent; Abstract Base Classes
  • Metaclasses (overview) and dataclasses (enrichment)
  • Descriptors & properties (enrichment)
Misc topics
  • Generators, immutability ideas, thunks
  • Regular expressions
  • Multi-threading: concurrency & synchronization basics; queues and patterns
  • Networking: from basic sockets to message systems
  • Asyncio overview (enrichment): event loop, tasks vs. threads; when to use which
Environment setup
  • pip, PyPI, virtualenv/venv; conda (where it fits)
  • setuptools basics and dependency pinning
  • pyproject.toml (enrichment): modern builds at a glance
  • Reproducibility: constraints/lock files (brief)
Creating packages & working with external libraries
  • Packaging your own library; versioning and layout
  • Wrapping native libraries: ctypes/cffi, pybind11 (overview)
  • Wheels and manylinux (overview)
Ad‑hoc solution to a user‑defined problem
  • Project-specific time slot (e.g., controlling hardware devices, PoE, telemetry parsing)

Optional modules

Optional — Testing & quality (compact)
  • pytest basics; fixtures; parametrization
  • mypy/typing hints; ruff/black; pre-commit (quick tour)

Course Day Structure

  • Part 1: 09:00–10:30
  • Break: 10:30–10:45
  • Part 2: 10:45–12:15
  • Lunch break: 12:15–13:15
  • Part 3: 13:15–15:15
  • Break: 15:15–15:30
  • Part 4: 15:30–17:30