Hier habe ich in meinem Buch ein Script gefunden, dass eigentlich "Standardklassen als Basisklassen" als Thema hat. Hier 'list'.
Erstmal das Script selber:
Code: Alles auswählen
class Defaultlist(list):
def __init__(self, s=[], default=0):
self.default=default
list.__init__(self, s)
def __getitem__(self, index):
try:
return list.__getitem__(self, index)
except:
return self.default
Das Script verhindert einen Laufzeitfehler, falls der Index bei einer Liste zu hoch ist und dieser Index nicht existiert. 'default' ist dabei der Wert, der zurückgegeben wird, falls dieser Fall eintritt, ansonsten wird der Wert des Indexes zurückgegeben.
Meine Fragen sind nun:
Zu...
Zeile1: Class Defaultlist(list) Heißt 'list', dass alle Methoden und Attribute von der Standardklasse 'list' an die Unterklasse 'Defaultlist' vererbt werden, damit man diese Methoden verwenden kann? Denke ich mal so.
Zeile5: Wieso wird hier die Klasse 'list' auf diese Weise initialisiert? Hier steht im Buch, dass das eine ungebundene Methode ist. Wat denn dada? ^^
Danke schonmal