2016-04-23 52 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