O que acontece quando eu herdo de uma instância em vez de uma classe em Python?
Estou curioso para saber o que acontecerá quando eu herdar uma instância em uma classe.
Então eu tentei:
class X:
def __init__(self, x):
self.x = x
def print(self):
print(self.x)
def inherit(obj):
class Child(obj): # Line 20
pass # or maybe added functionality
return Child
param = 5
x = X(param)
y = inherit(x) # Line 27
y.print()
Eu recebo (pelo menos) o seguinte erro:
Traceback (most recent call last):
File "/test.py", line 27, in <module>
y = inherit(x)
File "/test.py", line 20, in inherit
class Child(obj):
TypeError: __init__() takes 2 positional arguments but 4 were given
Eu só quero saber:Herdar uma instância é algo significativo / útil ou simplesmente absurdo?
(A pergunta é um pouco acadêmica e especificamente sobre os detalhes da herança de uma instância. Não se trata de alternativas como delegação de objetos ou práticas gerais de design.)