Python Programming


Python is a powerful open-source programming language. It comes with an extensive built-in Python Standard Library which is supplemented by a growing collection of thousands of third-party Python Packages available from the Python Package Index. Best of all, Python is easy-to-learn and use, and has tons of on-line resources available for assistance. If you're looking to pick up a programming language, I highly recommend learning Python.


The following links are for the most important Python resources.

Learning Topics

The following section lists various topics for learning some aspect of Python programming. This is not intended to be another on-line beginners course for learning Python. There are plenty of those already. The intention is to cover some of the less obvious areas of Python, and document them for myself so that I can reference it later. You might be thinking, didn't I say that Python was "easy-to-learn", so what's up with the "less obvious" stuff? I should clarify. Learning the core Python programming language is easy, and there is a ton that can be done with the Standard Library, but some of the real power of Python comes from the third-party libraries, and not every one of those is particularly consistent or well documented.

If you are completely new to Python and happened upon this page by accident, I would suggest bookmarking it, and read through some of the on-line beginners courses such as Learn Python the Hard Way, and come back when you have an understanding of the basics. That said, I was asked by friends and colleagues if I could help get them started with Python, so I've decided that the first Topics will cover some of the basics in a bit more detail than you get from the beginner courses.

Note: If you don't already have a Python IDE installed, then you're probably a true beginner, and I would recommend that you install Thonny before starting. When the topics require something more powerful and complex, I'll let you know.

A list of possible future topics:

Additional Resources