A dozen ways to learn Python | Opensource.com

A dozen ways to learn Python

These resources will get you started and well on your way to proficiency with Python.

Code on a screen
Image credits : 

Photo by Markus Spiske on Unsplash


Subscribe now

Get the highlights in your inbox every week.

Python is one of the most popular programming languages on the planet. It's embraced by developers and makers everywhere. Most Linux and MacOS computers come with a version of Python pre-installed, and now even a few Windows computer vendors are installing Python too.

Maybe you're late to the party, and you want to learn but don't know where to turn. These 12 resources will get you started and well on your way to proficiency with Python.

Courses, books, articles, and documentation

  1. The Python Software Foundation has excellent information and documentation to help you get started on your coding journey. Be sure to check out the Python for beginners guide. It will help you get the latest version of Python and offers helpful tips on editors and development environments. The organization also has excellent documentation to guide you.
  2. My Python journey began with the Turtle module. I first found answers to my questions about Python and the Turtle in Bryson Payne's Teach Your Kids to Code. The book is a great resource, and buying it gives you access to dozens of example programs that will spark your programming curiosity. Dr. Payne also teaches an inexpensive course by the same title on Udemy.
  3. Dr. Payne's book piqued my curiosity, and I yearned to learn more. This was when I discovered Automate the Boring Stuff with Python by Al Sweigart. You can buy the book or use the online materials, which are identical to the print edition and freely available and shareable under a Creative Commons license. Thanks to Al, I learned Python basics, functions, lists, dictionaries, manipulating strings, and much more. It's a great book, and I have purchased many copies to donate to local libraries. Al also offers a course on Udemy; with a coupon code on his website, you can get it for only $10.
  4. Eric Matthes wrote Python Crash Course, a step-by-step introduction to Python published (like the two books above) by No Starch Press. Matthes also has a wonderful companion website that includes how to set up Python on your computer as well as links to cheat sheets to ease the learning curve.
  5. Python for Everybody is another great Python learning resource. The site offers free access to materials from Charles Severance's Coursera and edX certification courses. The site is divided into Get Started, Lessons, and Materials sections, with its 17 lessons well-organized by topic area, from installation to data visualization. Severance, @drchuck on Twitter, is a clinical professor in the School of Information at the University of Michigan.
  6. Seth Kenlon, our master Pythonista at Opensource.com, has written extensively about Python. Seth has many great articles, including "Save and load Python data with JSON," "Learn object-oriented programming with Python," "Put platforms in a Python game with Pygame," and many more.

Use Python on devices

  1. Recently I have become very interested in the Circuit Playground Express, a device that runs on CircuitPython, a subset of the Python programming language designed for microcontrollers. I have found that the Circuit Playground Express and CircuitPython are great ways to introduce students to Python (and programming in general). Its maker, Adafruit, has an excellent series of tutorials that will get you up to speed with CircuitPython.
  2. A BBC:Microbit is another great way to get started with Python. You can learn how to program it with MicroPython, another Python implementation for programming microcontrollers.
  3. No article about learning Python would be complete without mentioning the Raspberry Pi single-board computer. Once you get comfortable with the mighty Pi, you can find a ton of ideas on Opensource.com for using it, including "7 Raspberry Pi projects to explore," "Resurrecting the Amiga on the Raspberry Pi," and "How to use your Raspberry Pi as a VPN server."
  4. A lot of schools provide students with iOS devices to support their education. While trying to help teachers and students in these schools learn to code with Python, I discovered Trinket.io. Trinket allows you to write and execute Python 3 code in a browser. Trinket's Getting started with Python tutorial will show you how to use Python on your iOS device.


  1. I enjoy listening to podcasts when I am driving, and I have found a wealth of information on Teaching Python with Kelly Paredes and Sean Tibor. Their content is well-tuned to the education space.
  2. If you're looking for something a little more general, I recommend Michael Kennedy's Talk Python to Me podcast. It offers excellent information about what's going on in Python and related technologies.

What is your favorite resource for learning Python? Please share it in the comments.

Teacher or learner?

A free and fun way to learn by teaching others.
DNA double helix

Want to learn data science? Find recommended courses in the Data Science Repo, a community-sourced directory of Python and R learning resources.
open book with words open up

Computer programming can be a fun hobby, as I learned when I programmed Apple II computers last...

About the author

Don Watkins - Educator, entrepreneur, open source advocate, life long learner, Python teacher. M.A. in Educational Psychology, MSED in Educational Leadership, Linux system administrator, Follow me at @Don_Watkins .