Objects So far we have been doing procedural programming, i.e., programming with procedures/functions. Python supports objects too. So, we will taste a little bit of object-oriented programming, i.e., programming with objects, but not much. I will try to give you a flavor of object-oriented programming in Python so that you will be familiar with the notations that you may run into later. A detailed coverage on objects in Python is beyond the scope of this tutorial. So, let's see a little bit We have seen most of the built-in types, i.e., the types that come with the base language Python. There were two kinds: 1. atomic data types 2. built-in compound data types We can even create types that we as a programmer can define ourselves, which are usually compound: 3. user-defined compound data types Here, by 'user' we mean a Python programmer. In Python, we create a new user-defined type by creating a new 'class'. (That is one of the ways at least.) Once we create a class, we can create instances (also known as objects) of that type (class). For example, if we create a class named Point, we can create point instances (objects) such as p1, p2, p3, etc. See points.py for details.