I’m moving away from the “polished publication” blog model toward more of a digital garden model, where posts are always in progress and evolving over time. This is the first post in that model. That’s a lot of models. Model.
I sent out a tweet asking for people’s favorite resources for learning Python. I figured I’d catalog the responses here, along with my opinions/experience with them, for anyone else who’s already an experienced developer but needs to learn Python quickly.
Thanks to everyone who gave suggestions! Here’s what they suggested, ordered by however Twitter presents them to me.
For video learners, Heitor suggests James Powell’s So you want to be a Python expert?.
Corey Schafer’s YouTube channel
Automate the Boring Stuff with Python
Keith Rozario chimes in with a recommendation for Automate the Boring Stuff with Python. Bonus points for being free to read online and offering a printed edition. Published by No Starch Press, which Keith also recommends. They’re a new publisher for me; happy to have more resources!
Thirty Days of Python
Alec Barrett-Wilsdon recommends Fluent Python. He’s right that it isn’t “learning quickly,” but I do like that it teaches idiomatic Python from the Python Data Model up. The more languages I learn, the more I appreciate doing things the idiomatic way. Takes an up-front investment to learn the way, but over time makes you much more efficient.
Who This Book Is Not For
If you are just learning Python, this book is going to be hard to follow. Not only that, if you read it too early in your Python journey, it may give you the impression that every Python script should leverage special methods and metaprogramming tricks. Premature abstraction is as bad as premature optimization.
Got to this point and it’s time to pump the brakes. This is pretty clearly me at this point in my journey, so I’m going to go on to another resource for now.