(continued from previous page if __name__ ='__main__'main(next replace the _perimeter with __ perimeter in the 'box pyas below box py user- creating boxes for the ring from pythonic import ring class box(ring)""modified perimeter for creating the box "" def perimeter(self)override the method 'perimeterperimeter is increased times return ring perimeter(self __perimeter perimeter def main() box(radius= pass radius print("radius:" radiusprint("modified perimeter% perimeter()( *pi*radius if __name__ ='__main__'main(important_ is not designed for making the attribute privatebut for renaming the attribute with class name to avoid conflicts due to same name as we see in above examplewhere using same name _perimeter in both parent and child class resulted in the wrong answer if we use _perimeter instead of _perimeterthen _perimeter will be renamed as _classname__perimeter thereforeeven parent and child class uses the same name with two underscorethe actual name will be differed because python interpretor will add the classname before those nameswhich will make it different from each other nowwe have same name in both the files __perimeterbut problem will no longer occur as the 'class-nameswill be added by the python before __perimeter below is the result for both the python filespython pythonic py radius: perimeter: area: from box import box diameter_init( area( notethere is no notion of private attributes in python all the objects are exposed to users butsingle underscore before the method or variable indicates that the attribute should not be access directly is designed for freedom not for privacy as we saw in this section private attributes are not for privatizing the attributes