Python Master Classes

with David Beazley
Author of the Python Cookbook, 3rd Ed
Python Essential Reference, 4th Ed.
Dabeaz, LLC
5412 N Clark Street #218
Chicago, IL 60640
Follow dabeazllc on Twitter Subscribe to Newsletter

Target Audience:

This class assumes that you already know the basics of writing simple Python programs and that you are generally familiar with Python's core features (functions, classes, modules, common library modules, etc.).

Next Course Date:

  • July 10-14, 2017

Price: $2750

What's Included?

  • Electronic copy of all course materials.
  • A copy of the "Python Cookbook, 3rd Ed."
  • Breakfast and lunch at local restaurants
  • Snacks
[ Register | More Information | FAQ]

Advanced Python Mastery

[4.5 days]So you learned Python from an online tutorial, a training course, or from a book, but you want to learn the secrets of the framework builders and the library writers. Then this is the course for you. Designed for working programmers who want to take their understanding to a whole new level, you'll learn what really makes Python tick under the covers and how you can harness its power in your own applications. Major themes of the course include the data model, object oriented programming, metaprogramming, and "Pythonic" thinking as Dave takes you on a journey of building a small data validation framework. Along the way, you'll visit most of Python's advanced features including classes, magic methods, descriptors, closures, decorators, metaclasses, iterators, coroutines, and more. Includes more than 50 hands-on exercises.

Detailed Course Outline

  1. Python Review. An accelerated review of the Python language focused on features that you should already know. Covers the basic language statements, program structure, common datatypes, functions, exceptions, modules, and classes.
  2. Idiomatic Data Handling. An in-depth look at data handling and data structures. A major focus of this section is on Python's built-in container types (tuples, lists, sets, dicts, etc.) with an eye towards studying their performance properties and resource use. Also covers important programming data-processing idioms such as the use of list comprehensions and generator expressions.
  3. Classes and Objects. A review of the class statement and how to define new objects in Python. A major focus is on how to properly encapsulate data, and when to use features such as static methods, class methods, and properties. Concludes with a review of some common object-oriented programming techniques and advanced topics including mixin classes and weak references.
  4. Inside Python Objects. A look at how the Python object system is put together under the covers. Major topics include instance and class representation, attribute binding, inheritance, attribute access methods, and the descriptor protocol.
  5. Testing, Logging, and Debugging. Learn how to test and debug your code. Covers the doctest, unittest, and logging modules. Information on assertions, optimized run mode, the debugger, and profiler is also presented.
  6. Working with Code. A detailed look at more advanced aspects of Python functions. Topics include variable argument functions, anonymous functions (lambda), scoping rules, nested functions, function introspection, closures, delayed-evaluation, and partial function application.
  7. Metaprogramming. Finally understand the secret techniques used by the Python framework builders. This section covers features that allow you to manipulate code. Topics include decorators, class decorators, context managers, and metaclasses.
  8. Iterators, Generators, and Coroutines. Covers the iteration protocol, generator functions, and coroutines. A major focus of this section is on applying generators and coroutines to problems in data processing. You will learn how to apply these features to large data files and data streams.
  9. Modules and Packages. This section covers the basics of how to organize larger programs with packages.

Course Materials

Students will receive a bound fully indexed set of lecture notes along with a complete set class exercises (distributed electronically). All class exercises come with solution code for later study and for use during the class.

Copyright (C) 2009-2017, Dabeaz LLC. All Rights Reserved.