class Zombi(object): def __init__(self, a = 2, b = 3): self.a = a self.b = b print(a,b) class Alive(Zombi): c = 1 def __init__(self): super(Alive, self).__init__(a = Alive.c) class Gamer(Alive): d = 4 def __init__(self): super(Gamer, self).__init__(a = Gamer.d) Zombi() Alive() Gamer()
При вызове Gamer() получается ошибка
TypeError: __init__() got an unexpected keyword argument ‘c’
С чем она связана? Почему я не могу переопределить переменную в конструкторе класса родителя? Это обходится? Мне допустим нужно создать новый объект на основе родительского класса и поменять в нём переменную заложенную в методе конструкторе, как это сделать? Не хочется аналогичный объект помногу раз прописывать