Rock Solid Python with Python Typing Transcripts
Chapter: Welcome to the Course
Lecture: What We'll Cover

Login or purchase this course to watch this video and the rest of the course contents.
0:00 In the opening to this course, I gave you some idea about what we're going to cover. But let's just dive really, really quickly into the specifics.
0:09 We're going to start by doing a comparison of many different static languages, as well as dynamic languages to Python,
0:17 both the typed version and the untyped original prior to 3.5 version of Python. And so you can really see how does code look in Swift,
0:27 how does it look in C#, how does it look in TypeScript, all these different languages. We're going to compare them to how Python works to give us an
0:34 understanding of where is Python typing coming from, how does it look the same as these static,
0:41 strongly typed languages, as well as how is it different, what makes that better and worse.
0:46 Then we're going to dive deep into all the aspects of Python types. We're going to talk about some of
0:52 the peps. We're going to talk about the syntax, how you use it, when you use it, how you detect
0:56 those errors. So this is going to be the really the meat of the course. When we focus on Python
1:02 typing in the language, they were going to see some of the ramifications of that typing in the
1:08 language, what are some of the frameworks that are better or require Python type hints to operate,
1:14 and actually see some running examples. You know, think things like FastAPI, pedantic,
1:19 but others as well. Then we'll talk about tooling, our editors are really important tools.
1:25 When choosing the right editor, you don't want to choose one that doesn't understand Python types.
1:30 But if your editor is smart enough to do that, you'll see that's really powerful. But we're also talking about mypy, pyre.
1:38 We're talking about some of the things you can do for runtime type verification, that kind of stuff.
1:44 We'll talk about what I'm calling orthogonal typing. You might hear this considered or referred to as structural typing as opposed to nominal typing.
1:54 what you might know from Python type ints, how can we avoid some of the pitfalls of traditional
2:01 object oriented programming, and still take advantage of all the cool aspects of dynamic
2:06 language might offer, but at the same time provide a little type safety and information
2:12 there as well. We do that with things like protocol. And finally, we're going to close
2:17 this out with some guidance, when should you add Python types? How should you go about
2:23 approaching a large code base that already exists but doesn't have very many types. What are some of
2:28 the patterns for good things and even what are some of the anti patterns with Python types.
2:33 This is what we're going to cover in this course. I think it's going to be really really valuable to you and I'm excited to dig into them all with you.


Talk Python's Mastodon Michael Kennedy's Mastodon