2016-04-23 93 views
-1

我爲我的Python練習創建了一些簡單的代碼。但是,當我嘗試從我的函數返回值時,我只得到第一個值,而不是兩個值。我究竟做錯了什麼?如何從函數返回值

def get_multi_data(): 
    #IM GETTING DATA FROM AN API as response# 
    item_data = json.loads(response.text) 
    #Get some data !!TEST!! 
    item_info = [] 

    for name in item_data: 
    item_name = item_data['market_hash_name'] 
    item_info.append(item_name) 
    break 
    else : 
    item_name = None 

    for price in item_data: 
    item_price = item_data['prices'] 
    break 
    else : 
    item_price = None 

    for lowest in item_price: 
    lowest_price = item_price['lowest'] 
    item_info.append(lowest_price) 
    break 
    else : 
    lowest_price = None 

    return item_name, lowest_price 

當我試圖返回我的值,我只得到第一個。 謝謝。

+3

你是怎麼稱呼它的?你要返回兩個值,所以如果你想把兩個變量分開,你需要做:'a,b = get_multi_data()'。否則'a = get_multi_data()'可以讓你在一個分配給'a'的元組中。 – idjaw

+1

你可以粘貼JSON數據嗎? –

+0

{「success」:true,「base」:2001,「market_hash_name」:「toyota celica」,「prices」:{「highest」:27000.1,「lowest」:1500.59,「last」:2300.01} :1459185479,「updated」:1461421472} – DraugDev

回答

1

你需要在調用函數時選擇你想要的值。治療之類的函數列表:

a = get_multi_data()[0] 

a等於item_name 或:

a = get_multi_data()[1] 

a等於lowest_price

如一些評論所指出的那樣,你也可以只以返回值作爲元組。

+0

它看起來像我太笨了一。 'a = get_multi_data()[0]'是什麼意思?如何在代碼中使用它,很抱歉在Python中是新的。 – DraugDev

+1

處理這個問題的更合適的方法是'a,b = get_multi_data()'。你要返回兩個值,所以你應該把他們兩個並相應地處理。 – idjaw

+0

這是重點,我不會真正意識到如何在我的代碼中使用它... – DraugDev