持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第29天,点击查看活动详情
0 环境
- 编辑器:idea或vscode
- 系统版本:windows10
- python版本:3.9.6
1 函数返回值
说到函数返回值,就会想到return,想到返回值就会联想到return关键字,没有它的话,调用函数,得到它的返回值,就是None。说完了有无返回值后,不由自主的会想到一个函数里可以有多个return,一旦符合条件,离它最近的return就会生效,剩余的函数代码不会执行,会直接结束函数, 返回值。for...else + return又是什么效果呢,如下代码,调用demo函数,args接收到值后,for...in遍历args里的每个元素,判断这个if条件是否为真,为真,打印item值,并返回值,一旦return了,else不会被执行了,拓展一下,这里要想执行else里的打印方法,保证for循环正常执行完,没有被中止,比如break中止本层(它最近的那个for或者说循环),else也不会被执行。换而言之,如下代码,if条件为假时,才会执行else里的打印方法。
def demo(*args):
for item in args:
if item > 3:
print(item)
return item
else:
print("小于3")
if __name__ == '__main__':
demo(1,2,3,4)
2 返回多个结果
如下代码,当return返回值携带多个值时,会被封装成为一个元组类型。也可以解构它,a, b = demo1()。
def demo1():
return 1, 2
if __name__ == '__main__':
result = demo1()
print(f"result --> {result}")
print(f"类型 --> {type(result)}")
3 总结
一个函数它可以存在多个return语句,哪个执行条件符合,就近使用return,该return返回结果的同时,并中止函数。有时候我们想结束函数,但是不想传入返回值,我们可以用return或者return None的方式,结束函数。一个return返回多个结果值,会被封装成元组的形式返回。