cookie: (PYTHON) Class und __getitem__

Beitrag lesen

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