Как обновить атрибут super в цикле

#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) . Дочерний класс имеет доступ ко всем родительским атрибутам.