*** Чтобы объяснить, почему я хочу сделать следующее, я пытаюсь обернуть сторонний инструмент и сделать больше с ним.
Я использую сторонний инструмент, в результате он возвращает объект. (например, объект класса Person
, который содержит MANY атрибутов).
Я хочу объявить новый класс, например Driver(Person)
. Которые содержат все, что есть в Person
классе и многое другое. Я НЕ РАЗРЕШЕН на изменение класса Person
.
У меня уже есть существующий объект Person
(возвращенный из стороннего инструмента), как мне преобразовать его в объект Driver
? Не инициализируя новый пустой объект Driver
и копируя все по одному в него, пожалуйста ... В моем случае, в классе Person более 30 атрибутов и свойств, и класс Person - не единственный класс, который мне нужен для этого. с. Я должен сделать это с около 20 классов. Вот почему для меня не практично копировать с нуля по одному для каждого класса, если нет другого пути.
class Person:
def __init__(self):
self._name = None
@property
def name(self):
return self._name
class Driver(Person):
def __init__(self):
super().__init__()
self._gender = None
@property
def gender(self):
return self._gender
def __str__(self):
return f'{self.name} {self.gender}'
Учитывая экземпляр Person
, приведите его к Driver
. но представьте, что в обоих классах намного больше атрибутов. В настоящее время я просто загрузил экземпляр Person в новый экземпляр Driver в качестве атрибута. Но я думаю, что должен быть разумный способ сделать это.