pythonic py import math import time class ring(object)""here we will see the actual logic behind various pieces of python language instancesvariablesmethod and @property etc alsowe will see the combine usage of these pieces to complete design with agile methodology ""class variables date time strftime("% -% -% "time gmtime()today' date "yyyy-mm-ddcenter center of the ring def __init__(selfdate=datemetal="copper"radius= price= quantity= )""init is not the constructorbut the initializer which initialize the instance variable self is the instance __init__ takes the instance 'selfand populates it with the radiusmetaldate etc and store in dictionary self radiusself metal etc are the instance variable which must be unique ""self date date self metal metal self radius radius self price price self quantity quantity def cost(self)return self price self quantity def area(self)return math pi self radius** def perimeter(self)return math pi self radius def main()print("center of the ring is at:"ring centermodify class variable ring(price= modify only price print("radius:{ }cost:{ }format( radiusr cost())print("radius:{ }perimeter:{ : }format( radiusr perimeter())if __name__ ='__main__'main( no data hiding in python in previous sectionwe added the method 'perimeterin the design note thatin python all the attributes can be directly accessed by the clientsand there is no concept of data hiding in the python let' understand this by an example no data hiding in python