Старые данные в новую структуру

#python #class #pickle

#python #класс #рассол

Вопрос:

допустим, я получил некоторые маринованные данные в структуре класса, например, следующие:

 class dog:
def __init__(self, nameDog, age):
    self.nameDog = namedog
    self.age = age
    self.favoriteToys = {}
         
class toy:
    def __init__(self, nameToy):
        self.nameToy  = nameToy     
        self.color = ''     
 

Теперь я хочу загрузить данные и использовать их в новой структуре с дополнительным атрибутом, основанным на старой структуре.

 class dog:
def __init__(self, nameDog, age):
    self.nameDog = namedog
    self.age = age
    self.breed = ''
    self.favoriteToys = {}
         
class toy:
    def __init__(self, nameToy):
        self.nameToy  = nameToy     
        self.color = ''
 

Есть ли простой способ сделать это?

Ответ №1:

Возможно, вы захотите создать класс, производный от другого. Это называется наследованием наследования Python.

 class Rottweiler(dog):
    def __init__(self, nameDog, age):
        super().__init__(nameDog, age)
        self.breed = ''
 

Используя super() функцию, ваш дочерний класс (Rottweiler) автоматически унаследует методы и свойства от своего родителя (dog).