The 5 Best Websites To Learn Python Programming

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.

Conclusion

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


MakeUseOf Recommends

Joel Lee

Joel Lee is a passionate freelance writer living in Philadelphia, Pennsylvania. In his free time, he likes to read and write fiction, play video games, and talk theology.

The comments were closed because the article is more than 180 days old.

If you have any questions related to stuff mentioned in the article or need help with any computer issue, just ask it on MakeUseOf Answers.

Hide 10 Comments

  • Jeff Fabish January 4, 2012
    0 likes

    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.

    | Like
    • Joel Lee January 4, 2012
      0 likes

      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!

      | Like
  • Joel Lee January 11, 2012
    0 likes

    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.

    | Like
  • Chris Kavanagh January 18, 2012
    0 likes

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

    | Like
    • Joel Lee January 18, 2012
      0 likes

      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!

      | Like
  • Suhail February 25, 2012
    0 likes

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

    | Like
  • Richard April 22, 2012
    0 likes

    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 – http://ude.my/23gkv good luck !

    | Like
    • Joel Lee April 25, 2012
      0 likes

      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!

      | Like
  • Jarina Alphonsa June 8, 2012
    0 likes

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

    | Like
  • Weihsiun Hung June 23, 2012
    0 likes

    http://openbookproject.net/thinkCSpy/ doesn’t exist anymore, I believe it’s http://www.openbookproject.net/pybiblio/ you want.

    | Like