Object-oriented programming is a popular technique for structuring software,
particularly in larger software projects being developed by larger groups
of people. In this lesson we will use the tools for object-oriented programming
provided by the Python programming language to learn how it can be used
to write modular, reusable components for research software.
This lesson assumes some level of familiarity with the Python programming
language. If you have not previously used Python, and in particular if you
are unfamiliar with programming in general, then we would recommend reading
through Software Carpentry’s introductory
Programming with Python lesson before
embarking on this one.
How can classes allow their instances to work with standard Python operators?
How can classes allow their instances to behave like iterables or collections?
How can classes allow their instances to be called like functions?