[英]Returning items from a function in python
如何在此函數的結尾處返回print語句下方的注釋行? 另外,當我運行帶有未注釋的return的函數時,我得到一個結果,但是當我運行帶有return注釋的函數時,我得到7個結果,但我不確定為什么會這樣。
我想做的就是在調用函數后調用track ['name']。 當我這樣做時,我得到此錯誤回溯(最近一次呼叫最近):在track ['name'] Name25中的文件“ spot.py”,第25行,NameError:未定義名稱“ track”
import requests
import json
message = "if i can\'t let it go out of my mind".split()
size = len(message)
def decrementList(words):
for w in [words] + [words[:-x] for x in range(1,len(words))]:
url = 'http://ws.spotify.com/search/1/track.json?q='
request = requests.get(url + "%20".join(w))
json_dict = json.loads(request.content)
track_title = ' '.join(w)
num_words_removed = len(words) - len(w)
new_message_length = size - num_words_removed
new_message = message[new_message_length:size]
for track in json_dict["tracks"]:
if track["name"].lower() == track_title.lower():
print track["name"], " | ", track["href"], " | ", track_title, " | ", num_words_removed
#return track["name"], track["href"], track_title, num_words_removed
decrementList(message)
return語句使函數停止執行並返回您指定的值,而對於print語句,它僅使某些內容輸出到終端,函數繼續執行。
為了使用從函數返回的值,您必須對其進行某些操作,例如將其分配給變量。 例如:
track = decrementList(message)
但是在這種情況下,您將需要返回曲目:
for track in json_dict["tracks"]:
if track["name"].lower() == track_title.lower():
return track
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.