Objects, Types & Classes
In order to understand the Python language, it helps to understand that everything in Python is an object, with an associated type. Some of those types might be built-in, representing simple and commonly used datatypes such as numbers (ints, floats, etc.) and strings. Others might be custom types developed through the use of object-oriented programming techniques to create new classes, representing new abstractions of data. Functions and modules are also objects in Python, each having their own appropriate type.
Class is a key concept from object-oriented programming (OOP). When we speak of a Python type or class, what we mean is:
A defined set of possible data attributes and the operations defined on them.
Every time we create a variable of a certain type, we have in fact created an object that is an instance of a certain class, in the same way that a certain pet named Frisky is an instance of the class of "cat". Accordingly, by knowing a variable's type, we know all the operations that are allowed on it. In OOP, these operations attached to a class (and thus to the objects that are instances of it) are generally referred to as its methods.
CVW material development is supported by NSF OAC awards 1854828, 2321040, 2323116 (UT Austin) and 2005506 (Indiana University)