【发布时间】:2019-07-27 11:50:55
【问题描述】:
假设我有两个功能:
def foo1(bar, a, b, c):
result = bar(a, b)
return result
def foo2(bar, a, b, c):
result = bar(a, b, c)
return result
两种情况下的参数都是相同的,但取决于函数“bar”可能只需要 2 个,而另一个可能需要全部 3 个(以相同的顺序)
是否可以在不知道引用函数需要多少参数的情况下将其变成单个函数?
【问题讨论】:
-
您想将所有提供的参数传递给函数吗?还是去掉多余的东西?
-
另一种选择是使用
try: bar(a, b, c) except TypeError: bar(a, b) -
我不想传递所有参数。 try/except 会起作用,但还有其他方法吗?
-
@dimakal 我链接的副本有很多方法。
标签: python python-3.x function reference arguments