Course: Advanced PythonPYTHON-ADV

The course is available on demand.

Remote training: online live with a trainer and a group. Available on demand, at time and place convenient to you, for groups of at least 3 participants.

4.8/5 (26)
exempt from VAT

Price: 990 EUR

refreshments included

computer station included

first minute (30+ days before) - 3%

Category: Python

This training focuses on teaching the advanced possibilities of the Python language. During the course we will venture far beyond writing simple scripts and we will study the secrets of profiling, concurrent programming and metaclasses usage.

We will discuss efficiency, both memory and computational, we will take a look at some less known but very powerful Python libraries. Completing our Advanced Python course will give you solid foundations to implement real business applications using Python language. All classes include many practical examples and exercises, to illustrate the discussed issues.

All our trainers are both experienced teachers and experienced Python developers.


3 days


  1. Iterators and context managers
    • Introduction to iterators
    • Passing data to iterators
    • Practical examples
      • Memory efficiency
      • the itertools module
      • modularizing the code
    • Iteration protocol
      • Implementing your own iterator
      • Context managers and contextlib
  2. Encodings, serialization, binary data
    • Unicode and encoding methods
    • Correctly managing binary and text data
    • Other text codecs
    • Reading binary structures
    • Serializing Python objects with pickle
      • Pickle’s safety
      • Serializing your own data types
  3. Types, classes, metaclasses
    • Defining types in runtime
    • Introspection of objects and classes
    • When to use metaclasses
    • Examples
  4. Testing
    • How tof write correct tests
    • Libraries used for testing
      • standard unittest
      • nose and tox
    • Checking code coverage
      • Line coverage vs branch coverage
  5. Advanced tools
    • The IPython interpreter
    • Virtual environments and virtualenv
    • Python’s built-in debugger – pdb
    • Debugging Python from gdb
  6. Profiling
    • Types of profilers in Python
      • Built-in profiler
      • Statistical profiling
    • Interpreting Python profiles
    • Optimizing Python code
    • Decompiling, reading opcode, the _dis_module
    • Memory profilers
      • objgraph
      • dowser
      • _heapy__
  7. Concurrency
    • Introduction to GIL
    • Common problems with parallel execution
      • Locks
      • Mutexes and semaphores
      • Conditions
    • Libraries for concurrent programming
      • using threads, the _threading_module
      • using processes, the multiprocessing module
    • Using concurrency to make programs faster

      During our courses we use the latest Python version (branch 2). In case of on-demand courses, it’s possible to use any version required by the Client, according to his needs.

Download as PDF

Audience and prerequisites

Basic knowledge of the Python language.


Course participants receive completion certificates signed by ALX.

There are currently no entries

Enter your e-mail address and we will notify you about future dates


Ask us anything about this training

* I hereby give my consent to the processing of my personal data by ALX Training Ltd. for the purpose of this request.