我有一个函数,在调用时,修改N持续时间的现有方法。如何在N之后将方法更改回原始方法,同时仍然只调用一次函数?
我的尝试:
def modifier(N, function):
original_function = function
while N:
N = N - 1
return modified(function)
return original_function
我想要的输出:
>>> function = modifier(2, function)
>>> function is modified(function)
True
>>> function
>>> function is modified(function)
True
>>> function
>>> function is modified(function)
False
>>> function is original_function
True
其他想法:我考虑过使用发电机和
function = next(generator)
但我不确定这是否是正确的方法。