我想写一个给出输入函数功能的类,但记得上次调用的参数,并且只会像字典一样更新它们。我有这到目前为止,但我很想知道是否有更好的办法:冻结函数参数
class freezefunc:
def __init__(self, func, **funcargs):
self.func = func
self.funcargs = {}
def call(self, **kwargs):
self.funcargs.update(kwargs)
self.func(**self.funcargs)
因此,这是这样的,那么:
def func(a):
print a
frozenfunc = freezefunc(func)
frozenfunc.call(a='somevalue')
打印:someValue中
frozenfunc.call(a='theupdatedvalue')
打印:更新值
有没有这样的东西,我只是没有找到?
UPDATDE:来自库functools的函数partial执行非常相同的任务。
的情况下,任何人有建议,以改善标题或标签这个问题,使之更加有用,我感谢的建议。 – pindakaas