The 5 Best Websites To Learn Python Programming
Pinterest Whatsapp

learn pythonOver the past decade, the Python programming language has exploded in popularity amongst programmers in all areas of coding. From web developers to video game designers to in-house tool creators, many people have fallen in love with the language. Why? Because it’s easy to learn, easy to use, and very powerful.

If you’re looking to pick up Python, you’re in luck. There are lots of web resources to learn python, and many of them are entirely free. Here are some of the best ones. For optimal results, we recommend that you utilize ALL of these websites as they each have their own great aspects.

#1 – How To Think Like A Computer Scientist

learn python

The most notable aspect of this web Python tutorial series is that not only does it teach you how to use the Python programming language, but it teaches you how to think like programmers think. If this is the first time you’ve ever touched code, then How to Think Like a Computer Scientist will be an invaluable resource for you.

Keep in mind, however, that learning how to think like a computer scientist will require a complete shift in your mental paradigm. Grasping this shift will be easy for some and difficult for others, but as long as you persevere, it will eventually click. And once you’ve learned how to think like a computer scientist, you’ll be able to learn languages other than Python with ease!

#2 – Dive Into Python

learn python

The Dive Into Python web tutorial series is awesome for those that want to learn python who have little or no experience with programming. The very first part of the tutorial walks you through the steps necessary to set up a Python interpreter on your computer, which can be very difficult for first timers.

There is one drawback to this website: it may try to dive in too quickly. As someone with Python experience under my belt, I can see how newbies might be intimidated by how quickly the author moves through the language. If you can keep up, then Dive Into Python will be a fantastic resource. If you can’t keep up, then visit some of the other websites in this list until you have a better grasp of the language, then come back and try this one again.

#3 – The Official Python Tutorial

learn python programming

What better place to learn Python than on the official Python website? The creators of the language itself have devised a large and helpful guide that will walk you through the basics of the language.

The best part of this web tutorial is that it moves slowly, drilling specific concepts into your head in more than one way to make sure that you understand them. The website formatting is simple and pleasing to the eye, which just makes the whole experience that much easier.

If you have a background in programming, the official Python tutorial may be too slow and boring for you. If you’re a brand newbie, you’ll likely find it to be an invaluable resource in your journey.

#4 – TryPython

learn python programming

Unlike the previously listed Python tutorial sites, TryPython is great in that the website itself has a built-in Python interpreter. This means you can play around with Python coding right on the website, eliminating the need for you to muck around and install interpreters on your system.

Of course, you’ll need to install an interpreter eventually if you plan on getting serious with the language, but TryPython lets you try python before investing too much time in a language that you might end up not using. TryPython’s tutorial series incorporates the interpreter, allowing you to play around with the code in real-time, making changes and experimenting as you learn. This is the most hands-on Python tutorial you will find outside of a real life classroom.

TryPython requires Microsoft Silverlight to be installed for your browser.

#5 – LearnPython

learn python programming

Like TryPython, Learn Python has a built-in interpreter right on the website as well as a tutorial series to go alongside of it. So what’s the difference between the two? Not a whole lot.

LearnPython is a little more basic, which means newbies will be able to keep up with the lessons and feel less intimidated by the material. And unlike TryPython, LearnPython includes programming exercises at the end of each lesson. These lessons serve to solidify the knowledge you gain and make sure that you truly understand what you’ve learned.

BONUS – PyGame

learn python

For those of you who that want to learn python to eventually create video games, this bonus resource will be extremely helpful to you. PyGame is a set of Python libraries that allows you to create graphical applications. Regular Python runs in a console window, which limits you to ASCII text. PyGame provides functionality for displaying images to the screen in a non-console window.

The best part? It’s just as easy to learn and easy to use as the Python language.


Though it has a relatively low learning curve, Python is a powerful language that can be utilized in multiple applications. Its popularity has been growing consistently over the past few years and there is no indication that the language will soon disappear. If you want to learn a highly versatile and powerful language, it’s never too late to give Python a shot.

Let us know in the comments what Python resources you use.

Image Credit: Shutterstock

Enjoyed this article? Stay informed by joining our newsletter!

Enter your Email

Leave a Reply

Your email address will not be published. Required fields are marked *

  1. Abiodun Anifowose
    July 26, 2017 at 4:11 pm

    Wow! This is awesome. Plus the many other links I got from the comments. Thank you all

  2. Kelly
    January 22, 2017 at 5:50 am

    Thanks for the nice list. But it doesn't include many good websites like,, and

  3. John Martens
    December 19, 2016 at 12:13 am

    Hi, this won't qualify as a best place necessarily but I have recently launched
    It's still a work in progress but it's all free and my first course on Python essentials is done, along with the YouTube playlist. I am half way through my tkinter course and will be adding a pygame course soon. I hope readers here will visit.

  4. ReddGirl
    September 2, 2016 at 5:44 am

    #1 - How To Think Like A Computer Scientist was not linked. Is that site no longer available?

  5. Rohan
    July 18, 2016 at 2:51 pm is also a great site to learn Python

  6. Noah
    March 31, 2016 at 1:06 am is also a great resource

  7. Victor Morgan
    April 28, 2015 at 8:57 am is fun way to learn python, for a beginner. I have had a lot of success getting my students, complete newby programmers in early high school, to pick up python using this site.

  8. mohit
    April 20, 2015 at 5:37 pm is another good site to learn for beginners

  9. Monty
    March 15, 2015 at 7:08 pm

    (Using Blender Game Engine))

  10. Monty
    March 15, 2015 at 7:07 pm

    A great little introduction to Python scripting in Python which demonstrates the power and simplicity of Python and traces basic concepts as well. And you get tool learn and see what you are creating immediately.

  11. Weihsiun Hung
    June 23, 2012 at 6:56 pm
  12. Jarina Alphonsa
    June 8, 2012 at 6:55 am

    hi,i would like to know about phython applications in detail,also which where the best IDEs for implementing phython

  13. Richard
    April 22, 2012 at 12:53 pm

    I've been through it all , reading books, doing a 3 day course (waste of time) and watched those free youtube videos. Luckily my mate recommended an online Python course where you can ask as many questions as you want (via email to a live experienced Python programmer) - that was the most important thing, you will have questions ! On top of all of that the course is award winning and only 29USD ! Unlike other online courses, it does not expire ! heres the link - good luck !

    • Joel Lee
      April 25, 2012 at 1:54 am

      Being able to ask questions to a real person is definitely something important. It's one of the best ways to learn, for sure. Thanks for sharing!

  14. Suhail
    February 25, 2012 at 4:39 am

    I would recommend 'A Byte of Python' By Swaroop CH, its an awesome book to get started with python.

  15. Chris Kavanagh
    January 18, 2012 at 8:31 am

    How about 'A Byte Of Python' by Swaroop, or 'Core Python Programming' by Chun!!?? Excellent books for beginners and more advanced students.

    • Joel Lee
      January 18, 2012 at 3:26 pm

      You're right. There are plenty of awesome resources for learning Python that were not listed in this article. It's just that this article focused specifically on websites. :) Thanks for your input!

  16. Joel Lee
    January 11, 2012 at 8:07 pm

    On the topic of Learning Python the Hard Way (LPtHW):

    I did a bit of digging around and the general consensus is that
    LPtHW is a fantastic resource for beginner programmers.

    The downside to LPtHW is that the author intended the book to be
    used in a graduate studies course setting--he gives some "extra
    credit" problems at the end of each chapter, but does not give the
    answers. This could be frustrating for a new programmer.

    Still, the quality of the actual teaching has received some great
    reviews, so there's no reason not to use LPtHW as a tool for
    learning Python. It would be a great supplementary resource for the
    5 resources I listed on the actual MUO article.

    On the topic of MIT open courseware:

    A few years ago, I did use MIT's open courseware on the topic of
    Linear Algebra and I found it to be absolutely AMAZING. The
    professor was extremely intelligent and he explained difficult
    concepts in a way that even babies could understand. Other than
    that, I know very little about MIT's open courseware
    program--especially in other subject areas.

    I would say give it a shot. If the videos are free, there's no harm
    in trying them. If the quality of MIT's Python open courseware is
    the same as their open courseware on Linear Algebra, it might be the
    best free resource out there.

    On the topic of Python 2.x vs. 3.x:

    At this point in time, newbie programmers should probably learn
    Python 3.x. When Python 3.x first came out (over a year ago), there
    was the problem of library compatibility: some libraries were only
    compatible with 2.x and not compatible with 3.x, so newbies
    continued to learn 2.x.

    Over time, companies have been working to port their libraries over
    to 3.x. Not ALL libraries have finished their conversion, but I'm
    confident that by the time you finish learning Python, 3.x will be
    the accepted standard.

    Besides, the differences between 3.x and 2.x are not that great.
    Once you learn 3.x, you can research the small differences between
    the two--then you'll be able to program in both versions.

  17. Jeff Fabish
    January 4, 2012 at 2:31 am

    If you really want to create a video game, learn C++ and a graphics library such as OpenGL (cross platform) or Directx (Windows). You can alternatively create games with engines such as UDK (uses Unreal Script, which is a hybrid of C++) and Unity (Javascript, unmanaged C# and Boo) which take care of a lot of the back-end work, such as the simplification of networking/multiplayer, graphics rendering and physics/collisions.

    The catch however, is that these tools don't allow you to get close to the hardware and really control what your game does, you must rely on the engine. Also, after making x dollars, you usually have to pay a royalty fee for using their engine.

    • Joel Lee
      January 4, 2012 at 5:40 pm

      Thanks for the input, Jeff. I both agree and disagree with you here.

      For graphics-intensive games, using a lower-level language (like C++) will technically result in better performance. However, these days, with all the improvements in CPU and GPU speeds, Python can hold its ground pretty well, even when it comes to 3D graphics.

      Plus, if it really came down to the wire, Python can be integrated with a language like C++, which is what EVE Online has done I think: using a dedicated engine for the graphics, but Python for everything else (networking, scripting, other backend things, etc).

      If nothing else, PyGame is a great way to take one's first step into game development. For most indie, single-man projects, Python will provide more than enough power and flexibility!