zu Lernzwecken möchte ich gerne die Funktionalität des Tuple-Typs erweitern. Das heißt, dass ich z.B. eine append(element)-Funktion einführen möchte, die mir das (bzw. ein neues) Tuple wieder um ein Element erweitert zurück gibt.
Dazu hatte ich zwei Ansätze:
Mein bevorzugten Ansatz war, ein Objekt zu erzeugen, in dem einfach ein Tupel als Attribut gespeichert wird. Wenn das Objekt irgendwo verwendet wird, sollte dann allerdings direkt dieses Attribut verwendet werden. Der Trivialansatz wäre dann etwas in dieser Art:
Code: Alles auswählen
class KindOfTuple():
def __init__(self, elements):
self.t=tuple(elements)
def append(self, element):
self.t=self.t+(element,)
test=KindOfTuple((1,2,3))
test.append(4)
print(test)
Alternativ könnte ich einfach vom Tuple erben:
Code: Alles auswählen
class KindOfTuple(tuple):
def __new__(cls, *args, **kw):
return tuple.__new__(cls, *args, **kw)
Vielen Dank
Jan
P.S. Dass dieses Projekt keinen praktischen Zweck hat, da die meisten Funktionen bereits im list-Typ implementiert sind, ist mir klar! Der Weg ist das Ziel.
