python - 返回可以关闭循环吗?(蟒蛇/django)
问题描述
在 python 上是否return
关闭循环?我之所以这么问,是因为我编写了一个代码,它将在列表中搜索我的某个人,如果知道那个人,它将返回我的年龄,否则它会告诉我“找不到人”。如果这个人在数组的第一位,如果找到它,但如果它在第二位,他不为什么?
def lerDoBanco(name):
lista_names = [
{'name': 'Joaquim', 'age': 20},
{'name': 'João', 'age': 25},
{'name': 'Ana', 'age': 27}
]
for person in lista_names:
if person['name'] == name:
return person
else:
return {'name': 'Person not found', 'age': 0}
def fname(request, name):
result = lerDoBanco(name)
if result['age'] > 0:
return HttpResponse('The person was found, has ' + str(result['age']) + ' years old')
else:
return HttpResponse('Person not found')
我问这个是因为如果我评论 else 语句,它会正确显示数组中的所有人。
解决方案
当您调用return
运算符时,它将终止当前函数执行并返回值。因此,如果您将return
在循环中使用,return
将终止循环和函数并返回一些值。