2017-03-15 86 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或任何其他初學者教程!