如何更改N持续时间的方法(Python)

时间:2017-03-12 06:12:46

标签: python

我有一个函数,在调用时,修改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)

但我不确定这是否是正确的方法。

0 个答案:

没有答案