gpt4 book ai didi

python - 我应该将参数作为继承对象吗?

转载 作者:太空宇宙 更新时间:2023-11-03 21:13:10 25 4
gpt4 key购买 nike

所以我想到了一个我一直在思考的想法。我对此表示怀疑,但它确实有效,所以我想知道是否有人有使用类似这样的东西的经验:

def make_new_class(Koola,Booba):

class Bar(Koola,Booba):
def __init__(self):
Koola.__init__(self)
Booba.__init__(self)

return Bar

Koola 和 Booba 是其他类。

所以这确实有效。但发现很少谈论这种可能性。

这是好的做法吗?如果不是,还有什么替代方案?

如果您好奇这可能会出现在哪里;当您想要一个从各种子类继承的类时,可能会出现这种情况。也许你有一堆算法以不同的方式做同样的事情,你想把它们像乐高积木一样粘在一起。

最佳答案

感谢您的提问!

类是 Python 中的一等公民,因此对它们的任何操作都与对任何其他对象的操作一样好。但多重继承是非常令人讨厌的事情,如果可能的话应该完全避免。

请注意这一点:

class A1:
def __init__(self):
self.a = 1

class A2:
def __init__(self):
self.a = 2

Composed1 = compose(A1, A2)
c1 = Composed1()
print(c1.a) # prints 2

Composed2 = compose(A2, A1)
c2 = Composed2()
print(c2.a) # prints 1

这是最明显的警告。还有很多其他的。

请注意。

关于python - 我应该将参数作为继承对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54902496/

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