メソッドを引数とするメソッド


class cTest:
def __init__(self, a):
self.a = a

def increment(self):
self.a += 1

def decrement(self):
self.a -= 1

def increment_n(self, n):
self.repeat(self.increment, n)

def decrement_n(self, n):
self.repeat(self.decrement, n)

def repeat(self, f, n):
for i in range(n):
f()

def __str__(self):
return str(self.a)

test = cTest(1)
test.increment_n(3)
print(test) # 4
test.decrement_n(2)
print(test) # 2