Sens4
Sens4

Reputation: 665

python3 class __init__ inheritance without defining parameters again

Is it possible to inherit a class and use its init function without declaring all parameters again in the child class?

I have a class with lots of parameters, but I don't want to use a list (**args). I wouldn't see my actual parameters:

class Table(object):
    def __init_(self, name, height ...):
        self.name = name
        self.height = height

class RoundTable(Table):
    def __init__(self, radius):
        self.radius = radius

table = RoundTable(name = "Placeholder",
                   height = 10,
                   radius = 20)

Upvotes: 0

Views: 288

Answers (1)

Jayaram
Jayaram

Reputation: 6606

Use the super class before assigning specfic args

def __init__(self,radius,*args,**kwargs):
     super().__init__(*args,**kwargs)
     self.radius = radius

Edit : I'm assuming you mean class and not a function

Upvotes: 1

Related Questions