object-oriented programming when developing objectsit is quite common to add constructor to an object to set up initial values for the object it is relatively rare to need destructor for an object multiple instances so farwe have defined classconstructed single objectused that objectand then thrown the object away howeverthe real power in object-oriented programming happens when we construct multiple instances of our class when we construct multiple objects from our classwe might want to set up different initial values for each of the objects we can pass data to the constructors to give each object different initial valueclass partyanimalx name 'def __init__(selfnam)self name nam print(self name,'constructed'def party(selfself self print(self name,'party count',self xs partyanimal('sally' partyanimal('jim' party( party( party(codethe constructor has both self parameter that points to the object instance and additional parameters that are passed into the constructor as the object is constructeds partyanimal('sally'within the constructorthe second line copies the parameter (namthat is passed into the name attribute within the object instance self name nam the output of the program shows that each of the objects ( and jcontain their own independent copies of and nam