python return语句作用_python中的return语句到底有什么作用?

从 Syntax 层面来说:

return 没什么作用。Python 只是抄 C 而已。Lisp 就没有。 Ruby、CoffeeScript、Rust 等许多语言都抄 Lisp,建议学这些语言,就不会困惑了。

不过,其实也不是一点用也没有。很多语言设计得不是很规整,比如 if 不是表达式,可以不对称(有 then 分支却没有 else 分支)。为了弥补这一缺陷,return 可以起到标记函数出口的作用,这样看起来更清楚一点,效果类似语法高亮。

从 Semantic 层面来说:

为什么函数要有返回值?

提问者说:为什么一定要return获取结果呢?不能直接打印出结果?

如果将编程看成消息传递的话,那么函数返回值其实只是消息传递的一种手段。打印出结果一样也是传递消息的手段(打印出结果只是输出到一个文件,那么要获取这个「消息」完全可以通过读取文件来进行)。大多数 shell 脚本语言就没有函数返回值,某些时候要依赖读写文件来通讯。

另外除了返回值和打印结果,还有其他很多传递消息的方法,比如 C 里面常用的传递一个参数进去,把结果存到参数里。Java 函数可以通过抛出异常、捕获异常来通讯(Python 也可以)。当然函数间通讯还可以回调,传入一个函数,得到结果后,调用传入的函数。

可以尝试一下这些不同的方法,通常能够体会到在很多场合下,通过函数返回值来传递消息比较方便。

想了一下,上面的回答默认在函数间传递消息是理所当然的。这里补充一下:很多程序完全可以从头写到尾,根本就不用函数,或者全写在一个函数里。但是,当你想要写更复杂的程序,希望重复使用某些代码的时候,就需要提取出一个个函数,并且这些函数之间需要使用某种方式通讯。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值