Hab jetzt mal das dict vervollständigt... Ich denke das sind die wichtigsten Methoden:
Code: Alles auswählen
class bsp(dict):
def keys(self):
print "keys:",
return dict.keys(self)
def __setitem__(self, item, value):
print "__setitem__[%s]=%s" % (item,value)
dict.__setitem__(self, item, value)
def __getitem__(self, key):
print "__getitem__[%s]:" % key,
dict.__getitem__(self, key)
def __str__(self):
print "__str__:",
return dict.__str__(self)
def __len__(self):
print "__len__:",
return dict.__len__(self)
def __delitem__(self, key):
print "__delitem__[%s]" % key
dict.__delitem__(self, key)
def has_key(self, key):
print "has_key(%s):" % key,
return dict.has_key(self, key)
def iteritems(self):
print "iteritems:"
return dict.iteritems(self)
def values(self):
print "values:",
return dict.values(self)
d = bsp()
print "01",; d[1]="eins"
print "02",; d["zwei"] = 2
print "03",; print d
print "04",; print d[1]
print "05",; print d.keys()
print "06",; print len(d)
print "07",; del(d["zwei"])
print "08",; print d.has_key("zwei")
print "09",; d[2]="zwei"
print
print "10",
for key, item in d.iteritems():
print "10", key, item
print
print "11",; print d.values()
Ausgaben:
01 __setitem__[1]=eins
02 __setitem__[zwei]=2
03 __str__:{1: 'eins', 'zwei': 2}
04 __getitem__[1]: None
05 keys: [1, 'zwei']
06 __len__: 2
07 __delitem__[zwei]
08 has_key(zwei): False
09 __setitem__[2]=zwei
10 iteritems:
10 1 eins
10 2 zwei
11 values: ['eins', 'zwei']
Noch eine Frage... Wann wird __repr__ benutzt?
EDIT: Wie es besser geht, steht hier:
http://www.python-forum.de/viewtopic.php?t=4918