Skip to main content

Rock Solid Python with Python Typing Course

4h 27m 54s
English
Paid

Since its inception in 1989, Python has evolved from a dynamic and typeless language to one that embraces type hints, starting with the introduction in Python 3.5.This change sparked the development of powerful, type-safe frameworks such as Pydantic, FastAPI, Beanie, SQLModel, and more. In this course, you will master Python typing, explore various frameworks utilizing types, and gain valuable advice on implementing types in your projects.

Course Highlights

Throughout this course, you will:

  1. Compare Python with popular static languages like Swift, C#, and TypeScript.
  2. Analyze a dynamic Python codebase versus its typed counterpart to understand differences and benefits.
  3. Learn to create typed variables effectively and understand when to apply them.
  4. Explore Python's strict nullability within its type system.
  5. Specify constant variables and values to ensure immutability.
  6. Reduce SQL injection risks using LiteralString.
  7. Utilize typing with Python functions and methods for clearer code.
  8. Implement typing in classes and with class variables for better design.
  9. Navigate Python's numerical type hierarchy to manage multiple numerical types.
  10. Use Pydantic for modeling and parsing complex data with strict type enforcement.
  11. Create APIs using FastAPI to maintain type integrity during data exchange.
  12. Query databases efficiently by leveraging Pydantic and Beanie ODM.
  13. Develop CLI applications using type information for defining interfaces.
  14. Enhance codebase integrity with mypy during CI/CD pipelines.
  15. Add runtime type safety to boost application reliability.
  16. Integrate duck typing with static typing using Python's novel Protocol construct.
  17. Acquire design patterns and guidance for proficient use of types in Python development.

About the Author: Talkpython

Talkpython thumbnail
Talk Python to Me is a weekly podcast hosted by Michael Kennedy. The show covers a wide array of Python topics as well as many related topics (e.g. MongoDB, AngularJS, DevOps).

Watch Online 73 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 73 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Welcome
All Course Lessons (73)
#Lesson TitleDurationAccess
1
Welcome Demo
01:57
2
Python Language Typing Definition
02:41
3
What We'll Cover
02:42
4
Goal: Not 100%
01:11
5
You'll Need Python 3.10 or Newer
01:07
6
git the Repo
01:22
7
Meet Your Instructor
01:38
8
Spectrum of Type Strictness
06:37
9
Running the Source Code
03:26
10
Motorcycle Class, Untyped
05:36
11
Using the Untyped Motorcycle
02:21
12
Duck Typing
03:03
13
TypeScript Motorcycles
04:40
14
C# Motorcycle and Why Types Can Detract from Readability
05:02
15
A Very Swift Motorcycle
04:04
16
Typed Python Motorcycles
07:38
17
Python Typing Introduction
00:33
18
Where Do Python Type Hints Come From?
01:14
19
Typing and Variables
03:23
20
Survey of Core Types
03:05
21
Nullable Types
05:22
22
Unions
03:11
23
If You Don't Know the Type
02:03
24
Constants
03:37
25
Avoiding Injection Attacks with LiteralString
06:02
26
Functions: Basic Typing
05:13
27
Functions: void Functions
02:44
28
Functions: Functions as Objects
05:34
29
Typing for Container Data Types
07:22
30
More Complex Containers
08:28
31
Classes and Typing
06:27
32
Externally Defining Types
04:27
33
Adding Our Own Types
03:56
34
Representing Multiple Numerical Types
04:13
35
Generics Available in Python 3.12
01:45
36
Gradual Typing
03:11
37
Frameworks Introduciton
00:46
38
Pydantic Foundations
02:24
39
Pydantic Code Example
01:00
40
pip-tools for Adding Requirements
03:16
41
Parsing Basic Data with Pydantic
08:57
42
Data-Rich Pydantic Example
06:03
43
Web frameworks using Type Hints
04:58
44
Database Frameworks Built on Pydantic
03:40
45
CLIs with Python Types
02:09
46
Setting up Our FastAPI Example
03:43
47
FastAPI, Beanie, and Pydantic MongoDB Example
04:27
48
Setting up the DB to Run the Code Yourself
02:08
49
Tools Introduction
00:42
50
Editors (Round 2)
02:26
51
Full Project Inspection
06:12
52
Static Type Checkers
01:32
53
mypy in Action
05:14
54
Runtime Type Checking with Beartype
01:56
55
Getting Started with Beartype
06:43
56
Beartype Speed Test
07:01
57
Orthogonal/Structural Typing Introduction
01:06
58
Inheritance Gone Wrong, an Example
06:11
59
Static duck typing with Protocols
08:24
60
Structural Typing Visualized
01:19
61
Patterns Introduction
01:11
62
Types on the Boundary
02:05
63
Public Packages
01:30
64
Autocomplete
01:10
65
To Optional or Not
03:11
66
Versions of Python
04:19
67
Minimalism Overview
04:12
68
Minimalism Code
01:45
69
Refactoring Motivation
01:31
70
Refactoring with Types
02:37
71
Point of No Return
07:39
72
Collection Advice
02:27
73
Conclusion
05:05
Unlock unlimited learning

Get instant access to all 72 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription