Recently I'd hit a point in my Python learning where reading books, posts, github, etc just wasn't cutting it. Sometimes the self-learning experience can slow down and you start stagnating. I decided it was time to try learning from some video courses.
At first I started watching YouTube videos but was eventually (and luckily!) introduced to the Talk Python Training Courses by Michael Kennedy, host of the Talk Python Podcast. Needless to say, I was so impressed I had to write about it!
Write Pythonic Code Like a Seasoned Developer
I'll start by calling out that Michael has 4 courses on offer:
- Python Jumpstart by Building 10 Apps
- Write Pythonic Code Like a Seasoned Developer
- Python for Entrepreneurs
- Consuming HTTP Services in Python
As a beginner, I actually should have started with the Python Jumpstart course as it's definitely of the "Learn Python" variant but I just couldn't look past the Write Pythonic Code option!
The first thing you'll notice when you kick off Michael's course is that there's no fluff and that's why I absolutely love it. After the initial set up of the environment, he drops you straight into PEP8 recommended styling.
There is no lecturing, there's just code and it's amazing. Every single concept is backed up by real and "live" examples. Michael even leaves certain, relatable mistakes in the course just to demonstrate how easy it is to make them.
In these first 13 minutes I learned so many techniques and best practices.
Quite a few times I found myself cursing that it had taken me weeks to learn what Michael was demonstrating in meer minutes.
The beauty of the course however lies in the fact that you're not spoon fed everything. You're expected to have prior knowledge of concepts such as Python Classes, data structures and so on.
The courses teaches you to do exactly what the title implies: To Write Pythonic Code. Plain and simple! You will learn the most Pythonic way to merge dictionaries, format strings and write loops (just to name a few).
It sounds simplistic but it's actually quite in depth. I was really impressed at how deep Michael dives with some of his explanations!
This brings me to the teaching style. There are two kinds of teachers, the type that will bore you to death with slides and monotony, and then there are the ones that teach in such a way that you're excited to learn.
Like I said, every concept is backed by oodles of code examples. Michael "live" types the code - so much better than static slides.
My favourite thing is that he demonstrates the multiple ways you can write the same block of code.
For example, in numerous instances he shows you how to write the code in a "Bad C-Style" way, then shows you the "less Pythonic" method, followed by the amazingly Pythonic super way.
Seeing this progression from "bad" to Pythonic really helps to cement the concepts.
I feel I should mention that as I listen to the Talk Python To Me podcast, there's a sense of familiarity. I don't feel like I'm taking a course from some stranger but rather from someone I know.
I've listened to Michael for hours on end through the podcast which really helps with the engagement. (The occasional joke also contributes!). It's pretty cool and definitely not creepy at all okay?!
Where are the Examples?
You might be wondering why I haven't provided any examples to back up my judgement. The reality is, Michael's clearly put a lot of hard work into this course (it's extremeley polished) so copying any of his code examples here would be doing him a disservice.
Clearly I'm a fan. I've seen online courses for Python before and quite a few have left me wanting but not this one.
I wish I'd stumbled upon Write Pythonic Code Like a Seasoned Developer a lot earlier.
When it comes to writing Pythonic code, if you want to learn the how and also the why then this is the course for you.
Here are some resources you might find helpful relative to this post:
- Write Pythonic Code Like a Seasoned Developer Course URL
- Michael's Talk Python to Me Podcast
- Michael Kennedy and Brian Okken's Python Bytes Podcast
Keep Calm and Code in Python!