Counting method calls

Ricardo Aráoz ricaraoz at gmail.com
Fri Sep 21 19:15:34 EDT 2007


Hi, I know I'm being dumb but, why does it not work?

>>> class MyList(list):
...     def __init__(self):
...         self.calls = 0
...     def __getattr__(self, name):
...         self.calls += 1
...         return list.__getattribute__(self, name)

>>> a = MyList()
>>> a
[]
>>> a.append(1)
>>> a
[1]
>>> a.calls
88
>>> a.append(3)
>>> a.calls
88
>>> a.sort()
>>> a
[1, 3]
>>> a.calls
176


TIA



More information about the Python-list mailing list