(continued from previous page 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 multiple constructor below constructor is added for the 'research organizationwho are doing their work based on diameters@classmethod def diameter_init(clsdiameter)radius diameter/ change diameter to radius return cls(radiusreturn radius @staticmethod meter to centimeter conversion def meter_cm(meter)return( *meter def cost(self)return self price self quantity def area(self)return math pi self radius** self perimeter(wrong way to calculate perimeter self __perimeter(use local copy of perimeter( math pireturn math pi ** def perimeter(self)return math pi self radius local copy can be created in the lines after the actual method __perimeter perimeter make local copy of perimeter 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()) print(check the new constructor 'diameter_initd ring diameter_init(diameter= print("radius:{ }perimeter:{ : }area:{ : }formatd radiusd perimeter() area())print("radius:{ }perimeter:{ : }format( radiusd perimeter()) meter print("{ meter { centimeterformat(md meter_cm( ))(continues on next page private attributes are not for privatizing the attributes