Rock Solid Python with Type Hints and Tools Course
Course Summary
What students are saying
Source code and course GitHub repository
github.com/talkpython/rock-solid-python-with-type-hints-courseWhat's this course about and how is it different?
This course dives deep into Python types. You will see many examples and graphics communicating the motivation for types and where they fit into the Python ecosystem. But you will also get very hands-on and learn all of these ideas with deep yet approachable code demos.
What topics are covered
In this course, you will:
- Compare popular static languages with Python (such as Swift, C#, TypeScript, and others)
- See a exact clone of a dynamic Python codebase along side the typed version
- Learn how and when to create typed variables
- Understand Python's strict nullability in its type system
- Specify constant (unchangeable) variables and values
- Reduce SQL injection attacks with LiteralString
- Uses typing with Python functions and methods
- Use typing with classes and class variables
- Work with multiple numerical types with Python's numerical type ladder
- Use Pydantic to model and parse complex data in a type strict manner
- Create an API with FastAPI that exchanges data with type integrity
- Query databases with Pydantic using the Beanie ODM
- Create CLI apps using type information to define the CLI interface
- Leverage mypy for verifying the integrity of your entire codebase in CI/CD
- Add runtime type safety to your application
- Marry duck typing and static typing with Python's new Protocol construct
- Learn design patterns and guidance for using types in Python code
- And lots more, see the full course outline.
Who is this course for?
This course is for anyone who knows basic Python and wants to take full advantage of Python type hints and related frameworks within their code. If you find you're not sure when or how to use Python type hints or feel that you could be leveraging them more, then this course is for you!
We do assume that you know core Python syntax and concepts such as virtual environments and external packages. If you are entirely new to Python, see our Python for Beginners course.
Concepts backed by concise visuals
While exploring a topic interactively with demos and live code is very engaging, it can mean losing the forest for the trees. That's why when we hit a new topic, we stop and discuss it with concise and clear visuals.
Here's an animated graphic we used while discussing the familiar yet very unique role that Protocol plays in Python's object-oriented programming constructs.
Get hands-on with almost every chapter
Learning a new language features and concepts is an interactive experience. That's why it's important to write code and explore the apps we are building during this course.
Every chapter that involves writing or reading code has a starter and finished code snapshot. We strongly encourage you to take the starter code from each chapter and build out the features you see created during the course for each chapter after you complete it.
This course is delivered in very high resolution
This course is delivered in 1440p (4x the pixels as 720p). When you're watching the videos for this course, it will feel like you're sitting next to the instructor looking at their screen.
Every little detail, menu item, and icon is clear and crisp. Watch the introductory video at the top of this page to see an example.
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.
Who am I? Why should you take my course?
My name is Michael, nice to meet you. ;) There are a couple of reasons I'm especially qualified to teach you Python.
1. I'm the host of the #1 podcast on Python called Talk Python To Me. Over there, I've interviewed many of the leaders and creators in the Python community. I bring that perspective to all the courses I create.
2. I've been a professional software trainer for over 10 years. I have taught literally thousands of professional developers in hundreds of courses throughout the world.
3. Students have loved my courses. Here are just a few quotes from past students of mine.
"Michael is super knowledgeable, loves his craft, and he conveys it all well. I would highly recommend his training class anytime." - Robert F.
"Michael is simply an outstanding instructor." - Kevin R.
"Michael was an encyclopedia for the deep inner workings of Python. Very impressive." - Neal L.
The time to act is now
If this course is a good fit for you and your goals, you should jump right in. It goes deep but doesn't skip out too much the foundation background info. You'll start to see benefits for your code right away. And it comes with a 100% money back guarantee (see details), so it's 100% risk free as well.