2016-12-06 10 views
-1

これは些細な質問のように聞こえるかもしれませんが、StackOverflowや他のサイトを掘り下げた後、私は実行可能な解決策を見いだせませんでした。私は苦労しています何関数の検査方法はPythonで返されますか?

def get_data_points(in_para1, in_para2): 
    [do something...] 
    dict_return = {"data_set1": data_set1, 
        "data_set1_type": "integers"} 
    return dict_return 

def main(): 
    input_para1 = [some data] 
    input_para2 = [some data] 
    [call get_data_points] 

がそれを呼び出す前に呼び出された関数(ここでは、get_data_points)の返された辞書を検査する方法を見つけることです:私は現在、このように、たとえば、機能を有するています。 inspectモジュールは入力引数を検査するメソッドを提供しますが、出力引数を検査するための対応するメソッドを見つけることができませんでした。 Pythonはそのようなメソッドを提供していますか?

あなたのご協力をお待ちしております。

+1

関数が呼び出される前にその辞書が存在しません。私はあなたが[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)を持っていると思う。 – TigerhawkT3

+0

なぜこれを行う必要がありますか?戻り値 'return_value = get_data_points(x、y)'を受け取ってから、返された辞書で何をする必要があれば何でもしてください。 –

+0

TigerhawkとMarkusの良い点。物事は、馬鹿に聞こえるかもしれませんが、初心者を許してください、私はそれを呼び出す前に返すことができるものを最初に調べる必要があります。それ以外の場合は、より多くのメモリと処理時間を消費する必要があります。 – Xavier

答えて

0
dict_return = {"data_set1":data_set1, 
        "data_set1_type":"integers"} 

関数が呼び出される前に存在しません。関数呼び出し時に作成されるため、これを行うことはできません。あなたがやったとしても

:関数が呼び出されたとき

def func(): 
    return 1 

1も作成されます。このため、呼び出されていない関数内の値は検査できません。

+0

良い助言。もう一つの愚かな質問をここで聞かせてください。目的の関数がオブジェクトが既に作成されているクラスのメソッドであっても、この場合ですか?私はPythonicの方法を理解しようとしています。 – Xavier

+0

@ Xavierはい、クラスのインスタンスは検査できますが、メソッドの内容は検査できません。 – user312016

関連する問題