Python is a modern, easy-to-learn, object-oriented programming paradigm. This means that Python considers data to be the focal point of the problem-solving process. Since Python is an interpreted language, it is most easily reviewed by simply looking at and describing interactive sessions. In Python, as well as in any other object-oriented programming language, we define a class to be a description of what the data look like (the state) and what data can do (the behaviour). Classes are analogous to abstract data types because a user of a class only sees the state and behaviour of data item. Data items are called objects in the object-oriented paradigm. An object is an instance of a class.