Following the release of Illustrated Guide to Python 3, my friend Michael Kennedy approached me about creating a course for Talk Python. (In his concerted effort to wean people off of legacy Python) He wanted a course with all the new features of Python 3. We planned it out, and I initially thought it would be a short course, on the order of an hour. It turned out there were a few more features in Python 3 than that.

The final course Python 3, An Illustrated Tour, came out with just over five hours of content. Much of this content has very little prior material covering it (books, videos, or even training courses). It includes the usual suspects: the print function, Unicode, and long unification. It dives in pretty deep into asyncio, annotations, annotation tooling, and pipenv. I even went and purchased a Windows machine to ensure that the environment section worked on Windows.

(As someone who was exclusive to Linux from 1999-2014, this may seem abrupt. Or maybe not. I've dealt with Windows quite a bit in my corporate training (and assorted family tech services). I purchased a Surface book and recorded most of the videos on it using to pen to annotate and add drawings. Happy to report that Python runs quite happily on said machine.)

There have been some questions about how this course is different from my book Illustrated Guide. I think the course description does a pretty good job, but I will elaborate a bit here. The book is meant to introduce Python. As Python 3 is the modern version of Python, that is what it covers. The book will provide an excellent foundation for someone who is technical and wishes to learn Python. This course has a different audience. It targets someone who has been using Python (either legacy Python or Python 3) but is programming it in the common subset of those versions. Python 3 has some cool new features that are not commonly used (or known).

The course covers the new unpacking syntax (both generalized unpacked and extended unpacking), dives into keyword-only arguments, teaches how to use pipenv (on Windows as well as Unix platforms), covers asyncio (including generators, context managers, and iterators), and presents annotations and the tools used to take advantage of annotations. Also, it offers some of the new packages in the standard library, enum and pathlib.

In addition, there are hands-on labs to help solidify your newfound knowledge. These labs are self-correcting, enabling you to try things out until they successfully run. Each of these labs has a walk-through as well, so you can see how your solution compares to mine.

As a bonus, if you buy the course in the next week, you will get the book as well! Head on over to the course page and check out the contents!