1

私のプログラムは、ユーザー入力からシーケンスargsとマッピングを導き出します。kwargsその入力を確認し、それを python 関数f(ユーザー入力に基づいて選択されます) に転送したいと思います。fこの場合、との間の関数シグネチャの不一致[kw]args入力エラーです。の実装内で発生する可能性のあるプログラミングエラーと区別する必要がありfますTypeError

したがって、関数呼び出しを試みる前に署名を確認したいと思います。(またはそれ以降のpythonバージョン)[kw]argsの結果と手動で比較する以外に、これを行う方法はありますか?inspect.getargspec.getfullargspec.signature

関連する質問: Python で関数の署名を確認する方法はありますか?

4

1 に答える 1

2

メソッド usinginspectは、おそらくこれを実行する最も簡単な方法です。これは、通常、Python で行うとは考えられないものです。

(通常、エンド ユーザーが任意の入力で任意の関数を呼び出せるようにすることは、プログラマーが望んでいることではありません。)

于 2013-01-27T08:54:49.643 に答える