Get Started with Python
If you’re looking to build your Python skills, there are a bunch of resources out there. Being self-taught, I’ve gone through quite a few of them!
Here’s a list of the most memorable stuff I’ve come across, as well as an explanation of a few basic concepts that most people tend to find confusing.
Books
A book or course is the best way to begin. Tutorials are great at some point, but when you need an overview of the entire language, look for something more comprehensive.
Learn Python the Hard Way by Zed Shaw
Of all the books and such that I read, Learn Python the Hard Way was my favorite intro to Python because it has a little bit of general programming sprinkled in.
Automate the Boring Stuff with Python by Al Sweigart
Automate the Boring Stuff with Python was the first Python book I went through and it’s also good (and free to read online!).
Video Courses
You can try your luck with YouTube which usually has something great, but Real Python traditionally has the best stuff on Python. They have a ton of great, free articles, but they also have a membership that will give you access to some video courses if you prefer to learn that way. Here are two that tackle some of the most important fundamentals of Python:
And then once you can figure out pip, packages, and virtual environments, your most powerful tools are just learning all the magic that’s out there.
Useful Packages
Python Standard Library
The Python Standard Library has a bunch of stuff available to help you manipulate strings, use different data structures, and more. Doug Hellman wrote a bunch of short articles on these packages called Python Module of the Week.
Third-Party Packages
You can get similar benefits out of learning powerful third party packages (those unassociated with Python proper). Here are some examples that you would just install with `pip install package-name`:
Projects
Lastly, make sure you get your hands dirty! You can’t truly understand how to structure a project until you build one!
Learn Python the Hard Way and Automate the Boring Stuff with Python have a bunch of projects that get you going.
If you’re feeling ambitious, try building your own project or tinkering around with someone else’s to get going!