Overloading __getitem__

Andreas Matthias amat at kabsi.at
Thu May 22 17:51:26 EDT 2008


The following code doesn't run but I hope you get what I
am trying to do.


class my_dict (dict):

    def __getitem__ (self, key, crazy = False):
        if crazy == True:
            return 5 * self.get(key)
        else:
            return self.get(key)


foo = my_dict()
foo['a'] = 123

print foo['a']
print foo['a', crazy = True]


Is it somehow possible to overload __getitem__ with an additional
argument? Are there other possibilities to achiev this? Or is
the only solution to this to write a normal function call
`def my_get (self, key, crazy=False)'?


Ciao
Andreas



More information about the Python-list mailing list