2016-04-23 3 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": {"maximum": 27000.1, "lower": 1500.59, "last": 2300.01}, "created" : 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]' означает? Как использовать его в коде, извините im new в Python. – DraugDev

+1

Более подходящий способ справиться с этим - 'a, b = get_multi_data()'. Вы возвращаете два значения, поэтому вы должны брать оба из них и обрабатывать их соответственно. – idjaw

+0

Это точка зрения, я не понимаю, как ее использовать в моем коде ... – DraugDev

Смежные вопросы