2 つの Python 関数があり、どちらも関数定義で可変引数を取ります。簡単な例を挙げると:
def func1(*args):
for arg in args:
print arg
def func2(*args):
return [2 * arg for arg in args]
のように、それらを構成しfunc1(func2(3, 4, 5))
たいargs
のですfunc1
が、ではなく、のように呼び出されるように([6, 7, 8],)
したいのです。(6, 7, 8)
func1(6, 7, 8)
func1([6, 7, 8])
通常、リストであるかどうかを確認するために使用するfunc1(*func2(3, 4, 5))
か、確認します。残念ながら、この特定のインスタンスでは最初のソリューションを使用できず、2 番目のソリューションを適用するには、多くの場所でそのようなチェックを行う必要があります (の役割には多くの機能があります)。func1
args[0]
func1
これを行う方法を知っている人はいますか?ある種の内省が使用できると思いますが、間違っている可能性があります。