A dozen ways to learn Python

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

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.

What to read next
User profile image.
Educator, entrepreneur, open source advocate, life long learner, Python teacher. M.A. in Educational Psychology, M.S. Ed. in Educational Leadership, Linux system administrator.


I like the "jump in and swim" method. What you're jumping into is the sea of example Python scripts that you can find out there. You have two basic goals, one not to get in over your head to quickly, and secondly, look for programs and scripts that do something you thing is useful (to you) and interesting.
Take the scripts out for a spin, play with them by changing lines or adding some, to see what happens. Look up commands to see how they work.
Sooner or later, you'll be able to start your own little program from scratch. Along the way, you be learning how to interpret the feedback you get when you mess something up - this isn't as straightforward as you might think.

I really like Think Python Second Edition by Allen B. Downey. The book can be downloaded as a CC BY-NC licensed PDF from https://greenteapress.com/wp/think-python-2e/ Downey also has books about other languages, including Java and Perl 6, which are also CC licensed and free to download.

One of my other favorite Python books is Zed Shaw's Learn Python 3 the Hard Way and its sequel, Learn More Python 3 the Hard Way. These books are basically structured versions of the "jump in and swim" method that Greg Pittman mentioned. You learn by figure out what is going on by experimenting and figuring out what is going on with each new concept that is introduced. Learn Python 3 the Hard Way and similar books/courses about other languages are available from https://learncodethehardway.org/

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.