Download PDF


Python has become one of the most popular computer programming languages and that isn’t going to change very soon. The ability to program everything from simple scripts to full-featured applications, and to draw upon hundreds of libraries and code samples makes Python a clear choice for many programming tasks.

Free Python Resources

The growing number of powerful microcontrollers and single-board computers that support Python derivatives like MicroPython and CircuitPython have made Python essential learning for developers who want to build custom state-of-the-art projects.  Combine Python with your knowledge of C++ and you’ll have an unbeatable combination that will let you build just about anything.

Python, like most languages, has a very strict syntax and a unique set of features.  To write great code in Python, MicroPython, or CircuitPythojn you’ll need to have a firm grasp of these features and fundamentals.

In this article, I’ve attempted to bring together a list of valuable resources, both online and offline, that will assist you in learning Python.  Please note that these resources focus on Python 3, as at the time of writing this is the recommended version of Python for writing new code.  I’ve limited this list to free resources so that your only investment in learning Python will be the time you put into it. That investment should pay itself back with all of the great code that you’ll be writing soon!

Python Tutorial & Reference Websites

Online Python Resources

Here are some of the best resources on the web for becoming a Python expert:

W3 Schools Python Tutorial – The W3 Schools interactive Python lessons will take you from beginner to expert at your own pace. Always a great place to learn any programming language, the W3 Schools Python courses are completely free and don’t require you to sign up or log in.

TutorialsPoint Python Tutorial – Another complete python tutorial that allows you to get the info you need in many formats, including PDF for printing or offline viewing. This tutorial also has an interactive feature that simulates a real programming environment.  They are free to access without logging in, but creating a free account has advantages. These tutorials are particularly great for students and for those looking to get employed working with Python – they even include a job search feature!

LearnPython – This is a very full-featured course for both experienced programmers and complete beginners. It is sponsored by DataCamp, which also offers paid Python Tutorials. This one is completely free and features interactive examples.

The Python Tutorial – Straight from the source, this is the official Python tutorial from the website.  It’s free without any account required, and as it’s from Python it is very thorough. I would recommend this one for more seasoned programmers, or perhaps for developers who have worked with other languages and who are trying to learn Python.  It may be a bit formal for beginners, but once you get some experience it will serve as a fine resource.

Python with Visual Studio CodeVS Code is becoming one of the most popular IDEs among developers, and this guide is part of their excellent documentation.  It’s a simple “hello world” guide that then branches into more advanced editing topics and debugging features. It also shows you how to support Jupyter Notebooks in VS Code, so it’s useful for developers of all levels who want to use Visual Studio Code for all their programming projects.

Python for You and Me – A complete step-by-step guide to installing and using Python.  Excellent for beginners, but it also covers many advanced features.  Once again, this is a free resource that does not require you to log in.

Programiz Learn Python Programming – This is a pretty complete resource that features both articles and videos. It also has a corresponding video series on YouTube.

Python Tutorial Videos

YouTube Python Resources

Some people prefer video tutorials over written ones, many folks like a mix of both. If video lessons are what you are looking for here are a few resources for you:

Learn Python – Full Course for Beginners – If you want to learn Python TODAY and have four and a half hours to spare then this video should do the trick.  With over 22 million views this video from has helped lots of people get a grasp on Python.

Python Tutorial – Python for Beginners – If a four-and-a-half-hour video isn’t quite enough for you then check out this one from Programming with Mosh. Over six hours of Python lessons, viewed nearly 17 million times.

Python Tutorial for Beginners – Learn Python in 5 Hours – Once again another video that will teach you Python in one very long sitting (or 10 very short ones).  Nana at TechWorld with Nana breaks down everything into simple, understandable concepts.

Learn Python with Socratica – In this exceptionally well-produced series of videos, Socratica takes you from installation to Python mastery.  If you have trouble sitting through those four-hour-plus videos then this series of 33 short videos, each one perfectly narrated and beautifully illustrated, will be a refreshing change.  These videos are a pleasure to watch, and as a bonus, you’ll also learn to program with Python!  Note however that they are a bit dated and also cover a few Python 2 concepts, which you can skip.

Learn Python for Beginners – Our good friend Paul McWhorter is producing a series of Python tutorials for beginners, as of this writing he has released the first two of 20 videos. Each of these is about half an hour of Pauls’s enjoyable teaching style.  Looks like a great way of spending some time every week, and he’s following it up with another series on Python 3D graphics this summer.

Free Udemy Python Courses

Udemy Python Resources

Udemy is probably the most popular online training platform on the planet, and its streamlined user interface makes it easy to learn at your own pace. They have many excellent Python courses, both free and paid ones. Here are a few of the free ones that you might want to check out, all you’ll need is a free Udemy subscription.

Introduction To Python Programming – Billed as “A Quick and Easy Intro into Python Programming”, this is one of the most popular Python courses on Udemy and has been used by over half a million students.  This free course consists of 18 short videos that will take up one hour and thirty-nine minutes of your time.  Considering that over 50-thousand people rated it at 4.4 out of 5 it’s a good use of that time.

Python for Absolute Beginners! – Another well-rated Udemy course, this one has you construct a calculator application while learning to code in Python.

Learn Python 3.6 for Total Beginners – This popular free course provides nearly seven hours of video and includes 7 brain-teasing exercises to test your progress.

Python from Beginner to Intermediate in 30 min – the name is a bit of a misnomer, as there are about one and a half hours of video included with this course. But it does bring you up to speed very quickly.

Free Python Tutorial Books

Book Python Resources

There is an abundance of books about Python programming, and new ones are being published every day in both conventional paper and ebook formats.  A trip to Amazon or your local book store will probably dig up a few gems while draining your wallet of several dollars!

Free book resources are few and far between, but they are out there. A bit of time searching on Google will turn up several of them, but many of those are dated and cover earlier versions of Python.   Once you find a good one you can continue to read it online, or you might consider printing it out if you really want it on paper. Some of these resources have methods of sending support to the author to show your appreciation, a nice gesture if the book was helpful to you.

A Byte of Python – A great Python 3 book whose author goes by the name of Swaroop CH, its title can be read online or downloaded as a PDF or epub from his GitHub repository.  A worthwhile read.

Automate the Boring Stuff with Python – The original version of this amusing and practical book is free to read online. You can also purchase the second version, and the author, Al Sweigart, has a number of other Python and coding books that can be read for free online under the Creative Commons license.

Python Practice Book – This “book” is really a collection of training notes by instructor Anand Chitipothu in Bangalore, India. The notes are formatted as a book and are very readable and quite useful, with several code examples and concise but practical notes.

The Hitchhiker’s Guide to Python – Not to be confused with the classic Douglas Adams books, this amusing online “guide” takes you through the installation and use of Python 3. There are a few sections at the beginning that you can just gloss over or skip altogether (they go over why Python 3 is better than Python 2), but after that, it’s all solid information. Probably more suitable for someone who already has a bit of Python knowledge and wants to take it to the next level.


You can definitely learn how to code in Python without spending any money on books or courses. By investing your time in one or more of these fine resources you can bring yourself up to speed quickly. Even if your objective is simply to write better MicroPython or CircuitPython code it is worth spending the time to establish the fundamental skills of writing and debugging Python code first.

Hope you found this list useful, if you know of any other great online free Python resources please contribute them in the comments.

Learning Python – A List of Free Resources
Learning Python – A List of Free Resources
Article Name
Learning Python – A List of Free Resources
A list of wonderful and free websites, videos, courses, and books that can help you become an expert Python coder.
Publisher Name
DroneBot Workshop
Publisher Logo
Tagged on:
Notify of

Inline Feedbacks
View all comments
Wolfy Clift
3 years ago

Love your Stuff, watch it whenever I can! At the moment, “Upgrading 11 Computers to MX LINUX, 19.3, with KDE Desktop”,

Douglass Blanding
3 years ago

I have been using Python since version 1.5.2, back in 2000. My wife (a non-programmer) wanted to spin up on it and I bought her the book “Python crash course” which I thin is an excellent introduction to the language. I found it available as a free download here.

3 years ago

Please something about CircuitPython on ESP32…how to install it….I did try without success. Thanks

Doug Soderberg
3 years ago

I sincerely appreciate all of your hard work maintaining a great website and producing some of the most instructive videos I have watched. You make even the most complex things understandable. Thank you for the Python resource page.

Quinn Kimball
3 years ago

Thanks for this; I’d love to see more of the same. Immediately bookmarked as I am currently, slowly, learning Python for Pi 4 projects. Best comprehensive list of resources I’ve seen yet. And I get the “end of winter” thing. I am north of you, in Michigan!

Randall Ellis
3 years ago

Fantastic list of resources, thanks for putting this together and sharing it with us!

  • R
Jim Hannigan
3 years ago

This looks like a very usefull resource. Looking forward to following it through. Have tried learning python courses before, but drifted off into other projects. Thanks Bill!

Pradeep Datta
3 years ago

Great collection Bill. Thanks a lot!!

Sean Carr
3 years ago

I’ve been following along with Paul McWhorter’s python course and so far it is one of the best I’ve tried. Thanks for all the info, Bill.


3 years ago

what a great collection of tutorials. It will be hard to choose from. I’m certainly going to look into some of them. Thanks for all the efforts you keep putting in this. Here in the Austrian Alps were also very looking forward to the snow to melt.
kind regards,

Xavier Eduardo Zambrano Ramirez
3 years ago

Thank you very much for this list! I’ve just recently started to learn Python with Chuck Severance’s programming for everybody and so far so good, but I’ll definitely look into this list to get the most out of my learning experience. I do have a question though, is it possible to make use of interrupts using CircuitPython or MicroPython? My python skills are in their infancy, but I’ve already learned a little bit of C, Java and Assembly in college so I’m curious about that. I know it is possible with C, since it’s closer to low level programming, but… Read more »

3 years ago

Thanks for the resources – always great info

Loyd Nelson
3 years ago

Just have to complement you on another job well done! I really appreciate all your work putting together Learning Python – A List of Free Resources. Python certainly isn’t my programming language of choice but it seems like it is becoming the language for DIY projects. Thanks.