I have two classes : Child class which inherits Ancestor class. My goal is to add id attribute for each instance without override
Code example:
class Ancestor(tensorflow.Module):
_id = 0
def __init__(self, some_list=):
super(Ancestor, self).__init__()
self.id = Ancestor._id + 1
Ancestor._id += 1
class Child(Ancestor):
_id = 0
def __init__(self):
self.id = Child._id + 1
Child._id += 1
some_list = [char + self.id for char in ["a", "b", "c"] ]
super(Child, self).__init__(some_list)
a1 = Ancestor()
a2 = Ancestor()
c1 = Child()
c2 = Child()
print(a1.id, a2.id, c1.id, c2.id)
>>> 1 2 3 4
I want this setup to print: 1 2 1 2
How can this be achieved?
Edited "some_list" in Child constructor simply is there to emphasize that Child must receive it's id, prior to calling Ancestor's super method