Hi,
ich glaube, Du hast mich auf die richtige Idee gebracht. Ich hatte das Problem bei __getitem__ gesucht, weil ich dachte, ich hätte dessen Funktionsweise noch nicht ganz durchdrungen, aber offenbar wird durch die zweite Definition von __getitem__ tatsächlich die erste "überschrieben". Ich habe das jetzt so gelöst:
class MyClass:
abc = ['a', 'b', 'c']
numbers = [1, 2, 3]
def __getitem__(self, item):
if item == 'abc':
return self.abc
if item == 'numbers':
return self.numbers
my_object = MyClass()
print "abc:", my_object['abc']
print "numbers:", my_object['numbers']
mit dem erwarteten Ergebnis:
abc: ['a', 'b', 'c']
numbers: [1, 2, 3]
Also nochmal vielen Dank!
Grüße
cookie