2016-05-09 14 views
1

は私が機能funを持っており、argskwargsオブジェクト、と私はfunで利用できるようになる引数と値の辞書を取得したいのですが、私の場合fun(*args, **kwargs)と呼ばれます(実際にはfunとは呼ばれません)。ない、つまり、私は、パラメータ名にargsの要素を結合し、助けることができるinspect.signatureありますのPython 3.3では充填デフォルトは2.7

デフォルト値でargskwargsに欠けているパラメータを入力する必要がありますが、私は、Python 2.7で働いています2.7でこのタスクのために働くことができるコードへのポインタを誰かが持っていますか?

+0

あなたは[、最小完全、かつ検証例]を追加することができます(http://stackoverflow.com/help/mcve)へあなたの質問? – Kasramvd

+1

Python 2には 'inspect.getargspec()'があります。しかし、これは 'inspect.signature'のように完全なものではありません。 –

+0

@MartijnPieters right、私は誰かがバックポートを作ったり、ロジックを<100 LoC snippet –

答えて

3

新しいPEP 362 Function Signature Object機能がfuncsigs projectと2.7にバックポートされました:

try: 
    from inspect import signature 
except ImportError: 
    from funcsigs import signature 

sig = signature(yourfunction) 
boundargs = sig.bind(*args, **kwargs)