2016-12-06 41 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)返回的字典調用它。檢查模塊提供了檢查輸入參數的方法,但我找不到檢查輸出參數的相應方法。 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