An Illustrated Tour of Python Language and Library Course

Course Summary

Python 3 has been out for a while and is the best Python version to start any new project. Now that Python 2 has been end-of-lifed, it is worth looking into porting Python 2 projects to Python 3. Not only is Python 3 faster than previous versions, it is also easier to use now that features like Unicode strings are standard.

If you haven't had the chance to program in Python 3, this course is for you. We will cover the updates and new features found in Python 3. You will see examples of using the latest and greatest, and then try your hand going through the labs trying out these new features.

Once you are done with this course you will pine for using these features in your code.

What students are saying

I just finished your [course] on Talk Python. I absolutely loved it and it 100% helped me upskill into a new job I'm starting next week. Thanks for all your work helping junior devs like myself!
-- Tim W.

Source code and course GitHub repository

github.com/talkpython/illustrated-python-3-course

What's this course about and how is it different?

This course will teach you to be extremely proficient with Python 3.

We assume you have a base knowledge of the subset of Python that runs in Python 2 and 3. We dive deep into every aspect of Python 3 and the PEP's that prompted those changes. From string formatting, f-strings and Unicode to number updates, to changes in classes and functions, this course covers it all. You will see the features in action and try them out for yourself.

In this course, you will:

  • Learn how to use f-strings
  • Dive into Unicode and discover the gotchas that you can easily prevent
  • Create keyword only arguments for greater readability
  • How to annotate your code for better collaboration and error checking
  • Write your own async functions
  • Master virtual environments, pip, and pipenv
  • Learn about new modules in the standard library
  • Learn how to annotate your code for better collaboration and error checking
  • See how the async code works
  • Discover extended unpacking
  • And lots more

View the full course outline.

Who is this course for?

For anyone who has wanted to dive into the new features of Python 3. It is quite easy to write code that works in both Python 2 and 3. Many old Python developers are used to the features of 2 and have never looked into all of the new features that Python 3 provides. Many new programmers are using Python 3, but are missing out on new features like async and annotations.

Existing Python 3 users: If you aren't using Python to its full potential, you owe it to yourself to checkout this course and see a wealth of Python 3 features that you might not even know exist. You will see and explore most of them in this course!

Concepts backed by concise visuals

This course is packed with examples, visuals, and charts to help you make the most of the features of Python 3. You will get the code, the visuals, and the labs.

Here's an example of concepts in the Unicode section.

Example: Concepts backed by concise visuals

Follow along with subtitles and transcripts

Each course comes with subtitles and full transcripts. The transcripts are available as a separate searchable page for each lecture. They also are available in course-wide search results to help you find just the right lecture.

Each course has subtitles available in the video player.

Get hands-on for almost every chapter

The best way to learn a new language or library features is to try it out. Every key concept has a section where you can dive in and try your hand at the feature. Not only will you understand how to use the feature, you will start to glean insight as to where and how you can apply this to your own code.

These exercises range in length from 10 minutes to about 20 minutes each.

Here is your turn for using Python 3.5's new async and await asynchronous programming model.

github.com/talkpython/illustrated-python-3-course

Who am I? Why should you take my course?

Who is Matt Harrison?

Who is Matt Harrison? I'm Matt. Thanks for dropping by. My friend Michael asked me to prepare a class to explain the cool new features in Python 3. There are a couple of reasons I'm especially qualified to teach you Python.

I've been using Python professionally since 2000 across a broad domain of areas. I ran the local Python group five years. Helping to mentor newbies and connect them with others in the industry.

I've been training and teaching for a long time. I've taught at large companies, small companies, universities, and many conferences. I've given courses for elementary students on programming drones with Python, and have taught retired professionals to program in Python.

I'm a best selling Python author. My most recent book Illustrated Guide to Python 3 has been a best seller on Amazon, as have my Learning the Pandas Library and my Treading on Python series.

Students like my training. I focus on the practical application. Below are some quotes from recent students.

"The hands-on activities were a great learning tool. Matt presented the material very well and did a great job of interacting with students and answering their questions and concerns. The material was perfect for learning new things with Python 3 and OOP!" - Jennifer S.
"Good overview of Python and showed a range of commands. Covered many aspects of the language and you were left with a sense of the capabilities." - Sam V.
"Matt's experience with Python and his ability to deal with those fundamental getting started problems. He demonstrated a way to get started, without getting bogged down by the overwhelming complexity and potential of Python." - Jake R.
"Matt obviously had an in-depth knowledge of Python and did a terrific job of explaining the material he presented. Questions were clearly answered and explanations of the code were easy to follow. Basing the course on the Markov Chain example was exceptionally well done. The example hits on many concepts that are important to an experienced programmer, with the code still being accessible to an entry-level programmer." - Anna O.

Free office hours keep you from getting stuck

One of the challenges of self-paced online learning is getting stuck. It can be hard to get the help you need to get unstuck.

That's why at Talk Python Training, we offer live, online office hours. You drop in and join a group of fellow students to chat about your course progress and see solutions via screen sharing.

Just visit your account page to see the upcoming office hour schedule.

Is this course based on Python 3 or Python 2?

This course is based upon Python 3. Python 2 is officially unsupported as of January 1st, 2020 and we believe that it would be ill-advised to teach or learn Python 2. This course is, and has always been, built around Python 3.

The time to act is now

Take advantage of Python 3 and all the features and goodies it provides. Your code will be faster, cleaner, and easier for others to read as well.

Course Outline: Chapters and Lectures

Welcome to the course
10:10
Course Introduction
3:36
Course resources and source code
0:36
Installing Python on Windows
3:53
Video player: A quick feature tour
2:05
Virtual Environments
25:14
Installing Pipenv on Windows
3:08
Virtual Environments and Pip
10:50
Walk-through: Virtual Environments and Pip (Windows)
2:46
Walk-through: Virtual Environments and Pip (Unix)
5:31
Walk-through: Virtual Environments and Pip (IDLE)
1:17
Walk-through: Virtual Environments and Pip (PyCharm)
1:42
Strings
43:50
Unicode
15:28
Walk-through: Unicode
3:53
Unicode in Files
3:15
Unicode Variable Names
1:22
String Formatting
7:47
Walk-through: String Formatting
4:30
f-Strings
3:44
Walk-through: f-Strings
2:31
Unicode Literals
1:20
Numbers
17:58
Division
1:38
Long Unification
1:53
Rounding
2:47
Underscores in Numerics
1:58
Walk-through: Number
5:52
Statistics
2:23
Walk-through: Statistics
1:27
Classes and inheritance
20:12
super()
8:52
Walk-through: super()
5:36
Matrix Multiplication
2:00
Walk-through: Matrix Multiplication
2:02
Dictionary Key Sharing
1:42
Functions
9:03
Keyword-only Arguments
4:22
Walk-through: Keyword-only Arguments
4:41
Type Annotations
50:27
Introducing Annotations
5:05
Annotation syntax
2:01
An annotation example
0:47
Variable annotations
0:56
The Typing library
4:18
Annotations best practices
3:20
mypy (type consistency verification)
6:27
Walk-through: Annotations
8:24
3rd-party Annotation tools (combined)
0:50
3rd-party: monkeytype
1:38
3rd-party: pyannotate
1:45
3rd-party: mypy
3:49
3rd-party tool summary
0:54
Walk-through (part 1): Annotation Tooling
5:23
Walk-through (part 2): Annotation Tooling
4:50
The standard library
20:39
Print Function
2:33
Walk-through: Print Function
2:42
pathlib
5:35
Walk-through: pathlib
3:25
Enum
3:18
Walk-through: Enum
3:06
Asynchronous Programming
57:31
asyncio Definitions
2:51
Concurrency Example
0:29
Python's GIL
0:50
Parallelism and Asynchrony Compared
2:25
Painting Code Example
4:28
asyncio Building Blocks
1:33
asyncio When and Why
2:43
Cooperative Multitasking From the Ground Up
6:51
Cooperative Multitasking, Async Version
2:13
Coroutine Requirements
2:45
Tasks
1:01
asyncio Tips and Tools
1:32
Walk-through: Asyncio
3:57
asyncio Context Managers
5:52
Walk-through: Asyncio Context Managers
4:07
asyncio Context Iterators
2:07
Walk-through: Asyncio Context Iterators
6:30
asyncio Generators
2:55
Walk-through: Asyncio Generators
2:22
Language syntax
48:58
Exceptions
6:11
Walk-through: Exceptions
2:58
Extended Unpacking
9:49
Walk-through: Extended Unpacking
5:30
Unpacking Generalizations
9:51
Walk-through: Unpacking Generalizations
3:56
More laziness
0:54
Strict ordering
1:35
No more name leakage
1:04
Walk-through: Other Changes
7:10
Conclusion and wrap up
0:36
Conclusion
0:36
Buy for $59 + tax Bundle and save 85% Team Gift

Questions? Send us an email: contact@talkpython.fm

Talk Python's Mastodon Michael Kennedy's Mastodon