我有一个Python函数,fetch_data它可以访问远程API,获取一些数据并将其包装在响应对象中返回。看起来有点像下面的样子:
def fetch_data(self, foo, bar, baz, **kwargs):
response = Response()
# Do various things, get some data
return response
现在,响应数据可能会显示“我有更多数据,请使用递增page参数给我打电话以获取更多”。因此,我本质上想将“方法调用”(函数,参数)存储在响应对象中,这样我就可以拥有一个Response.get_more()查看所存储的函数和参数,然后使用(几乎)相同的函数再次调用该函数。参数,返回一个新的Response
现在,如果fetch_data将其定义为fetch_data(*args, **kwargs)可以存储(fetch_data, args, kwargs)在中response。不过我有self,foo,bar以及baz约担心-我可以只存储(fetch_data, foo, bar, baz, kwargs)但这是重复的非常不理想的量。
本质上,我正在尝试找出如何从函数内部获取完全填充的*args和**kwargs,包括函数的命名参数。