python笔记 函数返回值

137 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 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)

image.png

2 返回多个结果

如下代码,当return返回值携带多个值时,会被封装成为一个元组类型。也可以解构它,a, b = demo1()。

def demo1():
    return 1, 2

if __name__ == '__main__':
    result = demo1()
    print(f"result --> {result}")
    print(f"类型 --> {type(result)}")

image.png

3 总结

一个函数它可以存在多个return语句,哪个执行条件符合,就近使用return,该return返回结果的同时,并中止函数。有时候我们想结束函数,但是不想传入返回值,我们可以用return或者return None的方式,结束函数。一个return返回多个结果值,会被封装成元组的形式返回。