小编Jac*_*eng的帖子

Python,如何将现有的父类对象转换为子类对象

*** 为了说明我想要执行以下操作的原因,我正在尝试包装第三方工具并用它做更多事情。

我正在使用第三方工具,它返回一个对象作为结果。(例如 类 的对象Person,其中包含许多属性)。

我想声明一个新类,例如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}'
Run Code Online (Sandbox Code Playgroud)

给定 的一个实例Person,将其转换为Driver. 但想象一下这两个类都有更多的属性。目前,我基本上只是将 Person 实例作为属性加载到新的 Driver 实例中。但我认为必须有一种更聪明的方法来做到这一点。

python types casting

2
推荐指数
1
解决办法
3875
查看次数

在python中记录异步函数的执行时间

我有一个异步函数,例如a。它被用作b = await a()

我如何记录a()完成执行所需的时间?

python async-await

2
推荐指数
1
解决办法
1896
查看次数

标签 统计

python ×2

async-await ×1

casting ×1

types ×1