what is object oriented programmingobject oriented means directed towards objects in other wordsit means functionally directed towards modelling objects this is one of the many techniques used for modelling complex systems by describing collection of interacting objects via their data and behavior pythonan object oriented programming (oop)is way of programming that focuses on using objects and classes to design and build applications major pillars of object oriented programming (oopare inheritancepolymorphismabstractionad encapsulation object oriented analysis(ooais the process of examining problemsystem or task and identifying the objects and interactions between them why to choose object oriented programmingpython was designed with an object-oriented approach oop offers the following advantagesprovides clear program structurewhich makes it easy to map real world problems and their solutions facilitates easy maintenance and modification of existing code enhances program modularity because each object exists independently and new features can be added easily without disturbing the existing ones presents good framework for code libraries where supplied components can be easily adapted and modified by the programmer imparts code reusability procedural vs object oriented programming procedural based programming is derived from structural programming based on the concepts of functions/procedure/routines it is easy to access and change the data in procedural oriented programming on the other handobject oriented programming (oopallows decomposition of problem into number of units called objects and then build the data and functions around these objects it emphasis more on the data than procedure or functions also in oopdata is hidden and cannot be accessed by external procedure