Python Learning Resources

By | June 29, 2015

Python is a flexible and easy to use programming language, and there are all kinds of python learning resources out there. Here’s a few of the sites and resources that I’ve found particularly useful over the years.

A Byte of Python

A Byte Of Python was the guide that first got me into python, and taught me many of the fundamentals of programming with python. It walks you through all the first steps of programming with python from installing python to writing your first program, and then on to more advanced topics such as functions, flow control and data structures.

You may find that you outgrow it want to start moving beyond the examples given, but A Byte of Python is a great place to start.

Software Carpentry

I first came across Software Carpentry a few years ago. It’s goal is to be to software engineering what carpentry is to structural engineering- the idea being that even on small-scale projects a scientist doing computing and programming can use many of the tools and approaches that are common place in software engineering.

The Software Carpentry course covers the basics of programming, but also has lessons on some of the more advanced topics such as version control, unit testing and interaction with databases.

An added bonus is that Software Carpentry also offer regular workshops around the world to help you get up to speed with programming.


These days, for any progamming question you might google, the chances are the top few results will contain at least one StackExchange answer. The website works by people submitting questions which are then answered by other users. The questions and answers are both voted on for correctness, clarity and suitability. For most problems you encounter, some one will have already experienced something similar, and had an answer or two posted in response. This can make it very easy to find the answer or code snippet you need to get around your problem.

As you become more proficient and confident with Python, you can start trying to answer other people’s questions to gain reputation points on the website.

What else is there?

These are just the resources that I’ve found particularly useful, but there are loads more out there. If you’re looking for something else, a good place to start is probably the python website itself which has a list of guides for those just starting out in programming, and also for people with some programming experience already.