Photo by Janko Ferlič on Unsplash

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.

The responses

Thanks to everyone who gave suggestions! Here’s what they suggested, ordered by however Twitter presents them to me.

Real Python

Heitor Lessa suggests Real Python. When Heitor suggests something, I listen. The site is tutorial-based, which I like. I’m an experiential learner, so I learn by doing. Tutorials fit that bill.

Tonny Ouma points out that there’s a book too. Haven’t gotten to that one yet.

For video learners, Heitor suggests James Powell’s So you want to be a Python expert?.

Corey Schafer’s YouTube channel

Patrick Werz recommends Corey Schafer’s YouTube channel. Seems to be a lot here, from tutorials for beginners through Django, Flask, and Pandas.

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

Dave Swersky points us to Thirty Days of Python, a step by step guide to learn Python programming. Hands on, easily digestible chunks to ramp up quickly. I like it and will be doing this!

Fluent 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.

Alec also pointed me to Angel D’az for Apache Airflow-specific questions.

Photo by 🇸🇮 Janko Ferlič on Unsplash.