Python: The Next Level
Building reusable libraries and powerful, expressive frameworks
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
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
- Install Python (3 or 2): https://www.python.org/downloads/
- Pycharm: https://www.jetbrains.com/pycharm/download/
Python Cookbook, 3rd edition
Become Fluent in Python - learning path
About your instructor
Aaron Maxwell is author of the book "Powerful Python: The Most Impactful Patterns, Features, and Development Strategies Modern Python Provides." As a software engineer, he has worked in devops, test automation, and machine learning, and now divides his time between coding, writing, and teaching.
The timeframes are only estimates and may vary according to how the class is progressing
Each day there will be plenty of interactive Q&A with the instructor, and in-class coding exercises to immediately cement what you learn.
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
- Quick Review of Key Patterns
- Decorators Taking Arguments, For Eloquent Yet Compact Tooling
- Class-Based Decorators, To More Easily Encapsulate Complex Patterns
- Magic Methods For Custom Syntax And Natural Semantics
- Custom Container Classes
- Iterable Sequence Containers
- Index And Key Access