Polski English

Two day course on Advanced Python

Venue: Hotel Przedwiośnie, Mąchocice Kapitulne koło Kielc
Date: September 17th-18th
Limit: 15 attendees
Langugae: English
Price for PyCon PL attendees:
405 EUR + 23% VAT / 1700 PLN + 23% VAT
Price for the others:
605 EUR + 23% VAT / 2540 PLN + 23% VAT

In order to register and make the payment for the course please contact Łukasz Porębski - Below we are presenting details of the course.

Advanced Python

Target Audience

This course targets medium level Python programmers who would like to dive deeper into the language.


The Python programming language is relatively easy to learn and allows to solve real-world problem with a just a few concepts.

But it also offers several advanced features that can help to greatly improve the programming experience. The latest releases of Python 2.x and 3.x add interesting features that can be used passively without deeper understanding about how they work. The course teaches how these features work and provides details about meta-programming and other advanced techniques.



The principle comes from the functional language Haskell but integrates very well into Python. After list comprehension came generator expressions followed by dictionary and set comprehensions.

The course introduces this style of programming with examples focusing on advantages and disadvantages for certain tasks.

Iterators and Generators

Iterators and generator make lazy evaluation, that is generating an object just when it is needed, very convenient. The concept of yielding instead of returning plays a central role. The course shows how to use generators to simplify programming tasks. Furthermore, coroutines will be used to implement concurrent solutions. An overview over the itertools module shows how to elegantly solve iteration tasks.


Decorator provide a very useful method to add functionality to existing functions and classes. The course uses examples for caching, proxying, and checking of arguments to demonstrate how decorators can improve code readability and can simplify solutions.


The with statement helps to make code more robust by simplifying exception handling. The course shows how to use the with statement with the standard library and how to write your own objects that take advantage of with. The contextlib from the standard library helps to make this easier.


Descriptors determine how attribute of object are accessed. The course uses examples to show how descriptors work and how they can be used to customize attribute access.


Metaclasses offer a powerful way to change how classes in Python behave. While being an advanced feature that should be used sparingly, it can provide interesting help for complex problems. The course shows how to apply metaclasses and gives examples where they can be useful.


Frequently, tasks can be solved following some pattern. Design patterns can be used to group tasks and their solutions. Often problems can be solved with existing patterns. Furthermore, patterns offer a common language for developers with well defined terms to communicate about complex tasks. The following patterns are covered:

  • Pythonic principles
  • "It's easier to ask for forgiveness than permission (EFAP)"
  • Singelton
  • Null Objects
  • Proxy
  • Observer
  • Constructor


The participants can follow all steps directly on their computers. There are exercises at the end of each unit providing ample opportunity to apply the freshly learned knowledge.

Course Material

Every participant receives comprehensive printed materials that cover the whole course content as wells as all source codes and used software.

About the Trainer

The course will be taught by Mike Müller. He is an experienced Python trainer and taught numerous Python courses including 12 tutorials at PyCon US over last eight years. He is CEO of Python Academy, a training company specializing in Python.


Please ask Mike Müller ( about the course content.

Gold Sponsor

Python Academy

media patronages Polish Python Coders Group Linux Magazine

logged in users: 0
website guests: 6

made by F. Klebczyk, graphical theme by P. Hajduga, registration system by D. Grzesista,; version 2013.05.12