[Solved] getting an error while making an object from a class


You are printing the reference to the objects in memory. Use parenthesis to print the actual values. For instance x1.get_name should be x1.get_name(). There are also other problems, you need to use self to reference the values in both classes, even in the gift class for values in product, since it inherits its functions.

Here’s an example:

class product:
    deliveryCharge=50
    def __init__(self,nam="Teddy Bear", prc=500):
        self.name=nam
        self.price=prc
    def get_name(self):
        return self.name
    def get_price(self):
        return self.price + self.deliveryCharge # changed from product to self
    def __str__(self):
        return "The {} will cost you Rs.{}.".format(self.get_name(),self.get_price())
    
class gift(product):
    def __init__(self,nam,prc,wrpchrge=100):
        super().__init__(nam,prc)
        self.wrappingcharge=wrpchrge

    def get_price(self):
        return self.price + self.deliveryCharge+self.wrappingcharge # changed to self

x1=product("yoyo",29)
print("I am buying a {} and it costs me {}".format(x1.get_name(),x1.get_price()))
m1=gift("yoyo",29)
print("I am buying a {} and it costs me {}".format(m1.get_name(),m1.get_price()))
print(x1.get_name()) # changed to x1 from product

Result:

I am buying a yoyo and it costs me 79
I am buying a yoyo and it costs me 179
yoyo

0

solved getting an error while making an object from a class