example-code-2e/09-closure-deco/average_oo.py

22 lines
294 B
Python
Raw Normal View History

2020-06-11 19:58:15 +02:00
"""
>>> avg = Averager()
>>> avg(10)
10.0
>>> avg(11)
10.5
>>> avg(12)
11.0
"""
class Averager:
2020-06-11 19:58:15 +02:00
def __init__(self):
self.series = []
def __call__(self, new_value):
self.series.append(new_value)
total = sum(self.series)
return total/len(self.series)