Как переопределить метод через super() и можно ли это?

class Phone(Item):
    
    def __init__(self, name, price, quantity, number_of_sim):
        super().__init__(name, price, quantity)
        self.number_of_sim = number_of_sim
    
    def __repr__(self):
        return f"{self.__class__.__name__}('{self.name}', {self.price}, {self.quantity}, {self.number_of_sim})"
    
    @classmethod
    def instantiate_from_csv(cls, data):
        with open(data, newline='', encoding="cp1251") as csvfile:
            reader = csv.DictReader(csvfile)
            for row in reader:
                cls(row['name'], row['price'], row['quantity'], None)

В классе Item нет number_of_sim, поэтому в класс-методе я добавил None в конце, но основная логика осталась такой же. Можно ли как то сделать в стиле DRY?


Ответы (0 шт):