2017-03-15 50 views
0

你好,我有一个函数调用的问题。下面是我为一个函数工作的代码。函数调用问题

def get_flickr_data(search_data,photo_number=50): 
    baseurl ="https://api.flickr.com/services/rest/" 
    params_d={} 
    params_d["tags"]= search_data 
    params_d["per_page"]=photo_number 
    params_d["format"]= "json" 
    params_d["method"]= "flickr.photos.search" 
    params_d["tag_mode"]= "all" 
    params_d["api_key"] = FLICKR_KEY 
    unique_indent = params_unique_combination(baseurl,params_d) 
    if unique_indent in CACHE_DICTION: 
     flickr_info = CACHE_DICTION[unique_indent] 
    else: 
     resp = requests.get(baseurl,params_d) 
     python_flickr = json.loads(resp.text[14:-1]) 
     CACHE_DICTION[unique_indent] = python_flickr 
     f = open(CACHE_FNAME,"w") 
     cache_str_tmp = json.dumps(CACHE_DICTION) 
     f.write(cache_str_tmp) 
     f.close() 
    return CACHE_DICTION[unique_indent] 

我试图让调用我与输入“山”(和50作为第二个参数)get_flickr_data功能。然后我想结果保存在变量flickr_mountains_result(侧面说明我不是在功能,所以我可能失去了一些东西非常好)

get_flickr_data("mountains",50) 
flickr_mountains_result = get_flickr_data 
print flickr_mountains_result 

以上是我的代码不工作,我得到的回溯类型错误:'函数'对象没有属性'getitem'。

+1

在问这个问题之前,你可以阅读有关函数的一些东西。 – Arun

回答

1

此行是执行功能:

get_flickr_data("mountains",50) 

要捕获它的结果结合您的第一和第二行:返回

flickr_mountains_result = get_flickr_data("mountains",50) 

值从你的函数然后assigned to the variable

+0

@马特S伟大的工作! – Avery9115

0

这应该工作:

flickr_mountains_result = get_flickr_data("mountains",50) 
print flickr_mountains_result 

你必须捕捉的函数变量返回后使用它的价值。
阅读更多关于函数如何工作,以及如何使用它们的信息here或任何其他初学者教程!