功能描述: 可以对某个函数不确定多少个参数进行调用
案例
def count_function(a, b, symbol='+'):
if symbol == '*':
return a * b
repeatedly_execut_function(count_function, 1,2,4,5,6, symbol='*')
结果:240
print(repeatedly_execut_function(count_function, 1,2,4,5,6,7, symbol='+'))
结果:25
def count_function(a, b, symbol='+'):
if symbol == '+':
return a + b
if symbol == '-':
return a - b
if symbol == '*':
return a * b
if symbol == '/':
return a / b
def repeatedly_execut_function(f, *args, **kwargs):
"""对同一个方法进行多次调用
案例
def count_function(a, b, symbol='+'):
if symbol == '*':
return a * b
repeatedly_execut_function(count_function, 1,2,4,5,6, symbol='*')
结果:240
f: 你要执行的方法的名称记得不要加()
*args: f方法需要的参数
"""
ret = None
if len(args) < 2:
raise ValueError("参数数量不正确")
for i in range(len(args) - 1):
if i == 0:
ret = f(args[0], args[1], **kwargs)
else:
ret = f(ret, args[i + 1], **kwargs)
return ret
print(repeatedly_execut_function(count_function, 1,2,4,5,6, symbol='*'))