gpt4 book ai didi

python - 在不保留旧父类的情况下用另一个类替换父类

转载 作者:行者123 更新时间:2023-12-05 08:10:41 25 4
gpt4 key购买 nike

我在外部库中拥有的内容:

# external package content


class Foo:

def func(): ...


class Bar(Foo):

def func():
super().func()

我的代码需要什么:

from external_library import Bar

class MyOwnCustomFoo:

def func(): ...


# Do some magic here to replace a parent class with another class without keeping the old parent


# Class name can be not 'Bar', but the class must have all 'Bar' attributes
class Bar(MyOwnCustomFoo):

def func():
super().func()

我需要实现的目标:

  1. 我必须拥有所有 Bar 方法,而无需复制/粘贴它们。
  2. Bar 必须从我自己的类继承,而不是从另一个类继承。

最佳答案

您可以将外部库类中的方法分配给您自己的类,模仿继承(据我所知,这称为猴子修补):

from external_library import Bar as _Bar

class Bar(MyOwnCustomFoo):
func = _Bar.func
...

关于python - 在不保留旧父类的情况下用另一个类替换父类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71054325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com