我有一个 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
and **kwargs
,包括函数的命名参数。