Hello im trying to make a oop function but im currently stuck on how can i inherit the __init__
arguments of my parent class to the child class, is there a method that can i use to adapt the variable from my main to use in child?
class a:
def __init__(self, name):
self.name = name
class b(a):
def __init__(self, age):
super().__init__()
self.age = age
When i trying to use the name
from the parent it errors.
b('joe', 40)
> Traceback (most recent call last):
File "<string>", line 11, in <module>
TypeError: __init__() takes 2 positional arguments but 3 were given>
>Solution :
In the b
class, you need to include the name argument in the __init__
method and pass it to the super()
method as shown below:
class a:
def __init__(self, name):
self.name = name
class b(a):
def __init__(self, name, age):
super().__init__(name)
self.age = age
Now you can create an instance of the b
class and pass the name
and age
arguments as follows:
b('joe', 40)
This will correctly initialize the name
attribute inherited from the a
class and the age
attribute in the b
class.