example-code-2e/09-closure-deco/average_oo.py
2021-01-31 22:48:38 +01:00

22 lines
294 B
Python

"""
>>> avg = Averager()
>>> avg(10)
10.0
>>> avg(11)
10.5
>>> avg(12)
11.0
"""
class Averager:
def __init__(self):
self.series = []
def __call__(self, new_value):
self.series.append(new_value)
total = sum(self.series)
return total/len(self.series)