假设我有一个函数,用于包装其他函数,比如 map 函数,它的签名如下:
现在假设我有一个函数x,其签名为:
def map(func, iterable, *args, **kwargs)
现在假设我有一个函数x,其签名为:
def x(a, b=None, c=0, d=100, iterable=list())
如果我尝试调用
map(x, [1,2,3,4], iterable=[5,6,7,8])
我会得到一个TypeError错误,因为map函数已经两次传递了“iterable”参数,即使其中一个是用于map函数而另一个是要传递给x函数的。
有没有什么解决方法?