#python #inheritance
#python #наследование
Вопрос:
Я пытаюсь обновить атрибут класса и не могу понять, как это сделать. Вот мой код:
class A():
def __init__(self,variable_that_needs_updating):
super().__init__()
self.var = variable_that_needs_updating
def runA(self, other_var):
x = 2*self.var other_var
return x
class B(A):
def __init__(self,initial_value_of_variable):
super().__init__(variable_that_needs_updating=initial_value_of_variable)
def runB(self, other_var):
for i in range(10):
other_var=1
#can I do something like this:
#super().variable_that_needs_updating = i
output = super().runA(other_var)
print(output)
return output
Как мне заставить его обновить ‘variable_that_needs_updating’ для получения 1,3,5,7, … для вывода?
Ответ №1:
Я думаю, что вам нужно: self.var
и self.runA(other_var)
. Дочерний класс имеет доступ ко всем родительским атрибутам.