Advanced Python Training

Advanced Python Training at PyConLT 2019

Motivation

Want a warm-up to PyConLT? We are delighted to announce an advanced Python one-day workshop run by Mike Müller of Python Academy.

Intended Audience

The workshop is for intermediate Python programmers who would like to make it onto the advanced level and learn how to take full advantage of this powerful language.

Course Content

Python offers several advanced concepts. It is possible to write useful Python programs without them. But if you want to really understand how Python works and how to write really pythonic programs, you should know about these topics:

  • Comprehensions
  • Iterators and generators
  • Decorators
  • Context managers

Comprehensions

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.

Decorators

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.

Context Managers

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.

The workshop covers them in detail using code examples that will be immediately useful for your daily work. Carefully crafted exercises help you to experience the learnt material. You will get detailed solutions for all exercises after the training.

The workshop content and teaching concept is based on numerous advanced Python classes taught by Mike Müller including in-house courses and the successful courses at EuroPython 2012 and 2013, PyConPL 2012, PyCon DE 2013, PyCon IE 2013, 2014, 2016, 2018 and PyCon Not America in Montrèal, Canada 2014 as well as PyUnConf 2015.

Mike taught more than 350 Python classes with well over 860 training days.

Prerequisites

Bring your laptop with Python 3.7 installed for an intensive, hands-on workshop with real-life examples. The course will use the JupyterLab. It is recommend to install it for a better course experience. You can also use your favorite (interactive) Python environment and editor. The easiest was is to install Miniconda and than:

conda install jupyterlab

Exercises

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 materials that cover the whole course content as wells as all source codes.

Event location