對於一個有趣的(和有效的,但不相關的)原因,我要做到以下幾點:子類和`tuple`
class Head(type, tuple):
pass
但這會導致
TypeError: multiple bases have instance lay-out conflict
(上python3 .3和python2.7)
任何方法?
爲了好奇,我想創建一個行爲類似Mathematica
表達式(Derivative[1][g][x]
爲g'(x)
)的東西。我知道還有其他方法,但爲了教育目的,我堅持這一點。
你爲什麼認爲這樣做是實現'Derivative [1] [g] [x]'事物的好方法? – BrenBarn
繼承'type'完全沒有意義;它不會給你任何「元組」還沒有給你的東西。 –
@BrenBarn,我想要一個具有實例(Derivative [1])的類(Derivative),它們本身就是具有Derivative [1] [g]等實例的類,它們本身都是等等,我不是說這是一種很好的方法解決問題,但這是一個有趣的方式來做到這一點。基本上我希望metaclass(所以我使用'type')與'tuple'的__eq__'(因爲我將所有的參數保存在一個元組中)。我可以使用一個元組作爲該類的一個屬性,但這不如該類本身是元組的一個子類。所以我不明白爲什麼subclassing type是毫無意義的。我還可以創建一個元類(沒有黑客)? – Krastanov