O'Reilly logo
live online training icon Live Online training

Python: The Next Level

Building reusable libraries and powerful, expressive frameworks

Aaron Maxwell

Imagine creating powerful frameworks and libraries that are so effective, yet so easy to use, other Python developers flock to use them.

Pythonista Aaron Maxwell will show you how in this hands-on, in-depth exploration of the features behind Python’s most popular libraries and frameworks; features that can multiply the quality and impact of your code. If you know the basics of Python already, it’s time to catapult to the next level.

This fast-paced, interactive, online course uses a mix of lectures, ebook downloads, Q&A sessions, quizzes to track your progress, and in-class coding exercises to explore—and master—Python’s most powerful traits and features.

What you'll learn-and how you can apply it

By the end of this live, online course, you’ll understand:

  • The most important building blocks for Python frameworks
  • How the most popular Python libraries work… and how to build your own

And you’ll be able to:

  • Write more powerful Python code, packaged in ways more easily reusable by other developers
  • Create your own decorators, enabling patterns of code reuse that literally cannot be captured in any other way
  • Use higher-level abstractions to produce reusable code and reduce complexity and errors

This training course is for you because...

  • You’re a web developer ready to extend your favorite framework’s abstractions, even build on top of them
  • You’re a QA engineer who is sick and tired of repetitive testing code, and wants to automate at a higher level
  • You’re a data scientist ready to create expressive analysis tools, empowering you and your teammates
  • You’re a tech lead or engineering manager who wants to improve code reuse and organization in your team
  • You want to improve your Python knowledge to ace an interview or land that dream job
  • You’re a software engineer who cares about robust, reliable, and maintainable code… and wants to see a wider positive impact from your coding efforts

Prerequisites

CLASS PREPARATION

You will need to have access to a computer.

To fully participate in this hands-on class, install either Python 3 (3.4 or later); or Python 2.7. Python 3 is recommended. You will be able to do the programming exercises in either version. Since almost everything in the course applies to both versions, the class will be taught primarily using 3, pointing out where 2.7 is different as we go along. (Note that Python 3.x safely installs alongside Python 2, with no conflict; for example, the interpreter is named "python3" instead of "python".)

You can use any Python-aware IDE or editor; Pycharm is one good choice. You should also be able to open a Python interactive interpreter on the command line, and run simple programs ("python3 helloworld.py") either on the command line or in your IDE. On Windows, you will need to set your system path: http://goo.gl/LJJT4Z

Links:

Recommended Preparation:

Further Learning:

Python Cookbook, 3rd edition

Become Fluent in Python - learning path

Oriole - Magically Crafting your Own Python Syntax

Oriole - Power of Special Methods

About your instructor

Schedule

The timeframes are only estimates and may vary according to how the class is progressing

Schedule

Each day there will be plenty of interactive Q&A with the instructor, and in-class coding exercises to immediately cement what you learn.

Day One

Richly Generic Function Patterns

  • Variable-Argument Functions
  • Leveraging Argument Unpacking

Pythonic Functional Programming

  • Understanding function objects in Python
  • Using key functions
  • Writing code that takes functions as arguments

Writing Decorators: The Basics

  • The Amazing Benefits of Decorators
  • Basic Structure of the Decorator
  • Common Decorator Patterns and Best Practices

Day Two

Advanced Decorators

  • Quick Review of Key Patterns
  • Decorators Taking Arguments, For Eloquent Yet Compact Tooling
  • Class-Based Decorators, To More Easily Encapsulate Complex Patterns

Expressive OOP

  • Magic Methods For Custom Syntax And Natural Semantics
  • Custom Container Classes
  • Iterable Sequence Containers
  • Index And Key Access