我正在尝试编写一个类,它提供输入函数的功能,但是会记住上次调用的参数,并且只会像字典一样更新它们。到目前为止我已经知道了,但我很想知道是否有更好的方法:
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')
打印:更新值
有没有这样的东西我还没找到?你知道吗
特殊方法
__call__
允许您直接调用frozenfunc
:现在:
印刷品:
以及:
印刷品:
相关问题 更多 >
编程相关推荐