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

Jack Feng

***为了说明为什么要执行以下操作,我试图包装第三方工具并对其进行更多处理。

我正在使用第三方工具,因此它返回一个对象。(例如,class的对象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}'

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

3伏

基本上,一个类的所有属性都位于magic__dict__属性内。类似于字典的对象包含为对象本身定义的所有属性。

因此,一次复制所有属性的方法是将__dict__属性从一个类复制到方法内部或实例中的另一个:

a = Person()
b = Driver()
b.__dict__.update(a.__dict__)

请注意,如果重复的属性将被覆盖,所以要小心

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将超类的对象转换为子类

来自分类Dev

如何将字符串列表转换为现有对象列表?

来自分类Dev

如何将现有的HTML / JQuery转换为ASP.net/JQuery代码

来自分类Dev

如何将现有的日志语句转换为插值的字符串格式?

来自分类Dev

如何将子类对象转换为超类对象

来自分类Dev

如何将类对象转换为通用对象类型?

来自分类Dev

如何将嵌套对象映射到现有的嵌套对象?

来自分类Dev

我可以将现有的斧头对象转换为3D投影吗?

来自分类Dev

如何将对象添加到现有的类对象

来自分类Dev

如何将现有的类别和产品转换为SEO友好的URL

来自分类Dev

如何将超类对象强制转换为子类[objective -c]

来自分类Dev

如何将具有混合子类型的嵌套子对象的对象转换为JS中的数组?

来自分类Dev

如何将普通数组转换为嵌套到父对象的嵌套对象

来自分类Dev

如何将具有多个JSON对象的Asana API响应转换为Python对象

来自分类Dev

如何将具有混合子类型的嵌套子对象的对象转换为JS中的数组?

来自分类Dev

如何将xml对象转换为python对象?

来自分类Dev

如何将现有的MVC5网站转换为Web角色

来自分类Dev

将超类的对象转换为子类

来自分类Dev

在PhoneRTC中,如何将现有的语音聊天转换为视频聊天?

来自分类Dev

如何将现有的Windows计算机转换为VirtualBox?

来自分类Dev

如何将现有的d3区域转换为堆叠区域?

来自分类Dev

如何将对象添加到现有的类对象

来自分类Dev

如何将现有的 promisified 函数转换为异步等待?

来自分类Dev

如何将 JSON 对象转换为 TS 类

来自分类Dev

如何将 JSON 对象转换为 Python 对象?

来自分类Dev

如何将现有的 ubuntu 安装转换为 iso [GUI]

来自分类Dev

如何将类对象转换为 JSON 以供请求?

来自分类Dev

Python 如何将现有的本机 dict 转换为自定义 dict 对象?

来自分类Dev

如何将类对象数组转换为 Pandas 中带有列的数据框?

Related 相关文章

  1. 1

    将超类的对象转换为子类

  2. 2

    如何将字符串列表转换为现有对象列表?

  3. 3

    如何将现有的HTML / JQuery转换为ASP.net/JQuery代码

  4. 4

    如何将现有的日志语句转换为插值的字符串格式?

  5. 5

    如何将子类对象转换为超类对象

  6. 6

    如何将类对象转换为通用对象类型?

  7. 7

    如何将嵌套对象映射到现有的嵌套对象?

  8. 8

    我可以将现有的斧头对象转换为3D投影吗?

  9. 9

    如何将对象添加到现有的类对象

  10. 10

    如何将现有的类别和产品转换为SEO友好的URL

  11. 11

    如何将超类对象强制转换为子类[objective -c]

  12. 12

    如何将具有混合子类型的嵌套子对象的对象转换为JS中的数组?

  13. 13

    如何将普通数组转换为嵌套到父对象的嵌套对象

  14. 14

    如何将具有多个JSON对象的Asana API响应转换为Python对象

  15. 15

    如何将具有混合子类型的嵌套子对象的对象转换为JS中的数组?

  16. 16

    如何将xml对象转换为python对象?

  17. 17

    如何将现有的MVC5网站转换为Web角色

  18. 18

    将超类的对象转换为子类

  19. 19

    在PhoneRTC中,如何将现有的语音聊天转换为视频聊天?

  20. 20

    如何将现有的Windows计算机转换为VirtualBox?

  21. 21

    如何将现有的d3区域转换为堆叠区域?

  22. 22

    如何将对象添加到现有的类对象

  23. 23

    如何将现有的 promisified 函数转换为异步等待?

  24. 24

    如何将 JSON 对象转换为 TS 类

  25. 25

    如何将 JSON 对象转换为 Python 对象?

  26. 26

    如何将现有的 ubuntu 安装转换为 iso [GUI]

  27. 27

    如何将类对象转换为 JSON 以供请求?

  28. 28

    Python 如何将现有的本机 dict 转换为自定义 dict 对象?

  29. 29

    如何将类对象数组转换为 Pandas 中带有列的数据框?

热门标签

归档