class Counter(object): def __init__(self, fvalue=0, inc = lambda x: x + 1): self.inc = inc self.val = fvalue def __call__(self): old = self.val self.val = self.inc(self.val) return old c = Counter(1) print [ c() for i in xrange(0, 10)]