擅长:python、mysql、java
<p>检查函数是在不改变或修饰原始函数的情况下显式区分具有不同参数数的函数的唯一方法。我对您的包装器所做的唯一更改是将其归纳为任意数量的参数:</p>
<pre><code>def padArgsWithTrue(func, *args):
passed_args = list(args)
num_args = len(inspect.getargspec(func).args)
passed_args += [True] * (num_args - len(args))
return func(*passed_args)
print padArgsWithTrue(lambda x,y,z,w: (x*y, z, w), 5, 6)
</code></pre>
<p><strong>编辑:</strong>请注意,这不适用于参数或关键字参数数目可变的函数。在编写完整的解决方案之前,您必须确定一个处理这些问题的策略。在</p>