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.


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

Learn Python 3 the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code by Zed A. 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: Practical Programming for Total Beginners 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

Beautiful artwork from Real Python’s articles on pip, the Python package manager

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`:

  • django - a framework for building web applications
  • requests - helps you make web requests
  • black - a formatter to give you a consistent, “pythonic” code style
  • borb - for working with PDFs
  • pillow - for working with images
  • ffmpeg - for working with video


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!

Get Notified of New Posts

Sign up for the newsletter and I'll send you an email when there's a new post.