Python中return语句使用次数疑问及find_value函数执行逻辑咨询
关于Python中return语句的两个疑问解答
嘿,我来帮你把这两个问题掰扯清楚,核心都是搞懂Python函数里return语句的运行逻辑~
疑问一:一个代码块中,return语句只能被使用一次吗?
当然不是!一个函数里完全可以有多个return语句,只要逻辑合理就没问题。你这段代码里就有两个return——一个嵌套在if判断里,一个在函数的末尾。
记住关键规则:只要函数执行到任意一个return语句,就会立刻终止整个函数的运行,把对应的值返回出去,函数里剩下的所有代码都不会再执行了。所以多个return是用来在不同条件下提前结束函数、返回不同结果的常用写法。
疑问二:return -1会每次都触发吗?
完全不会!return -1只有在整个for循环跑完,都没找到匹配的目标值的时候,才会被执行到。
咱们拆解下你的代码执行流程:
def find_value(List, value): for i in range(len(List)): if List[i] == value: return i # 找到目标值就立刻返回索引,函数直接结束 return -1 # 只有循环完所有元素都没找到,才会走到这里
举个实际例子:
- 如果你的列表是
[3,7,9],要找7:循环到i=1时,List[1] == 7成立,触发return 1,函数直接终止,后面的循环和return -1根本没机会运行。 - 如果要找
10:循环遍历完i=0、1、2都没匹配上,循环结束后才会执行return -1,返回-1。
总结一下:return语句只会被执行一次——第一个被触发的return会直接终止函数,后面的return都不会被处理。
内容的提问来源于stack exchange,提问作者Yabusa
相关产品推荐
相关产品推荐

