鱼C论坛

 找回密码
 立即注册
查看: 3151|回复: 3

[已解决]python函数问题

[复制链接]
发表于 2022-11-5 21:17:40 | 显示全部楼层 |阅读模式
5鱼币
请问这三种在执行时有什么区别吗,特别是每个的最后一行代码麻烦按照计算机运行时的顺序说一下,越详细越好
最佳答案
2022-11-5 21:17:41
        1、是正常递归,func() 无返回值,在 i = 0 的时候递归结束,最终打印 i 行输出,每行一个 123
        2、是正常递归,func() 只是递归分支有返回值,由于在最关键的 i = 0 的时候没有返回值,所以,最后返回的实际上是 i 个 None,最终打印 i 行输出,每行一个 123
        3、是正常递归,func() 无返回值,在 i = 0 的时候递归结束,最终打印 i × 2 行输出,每行一个 123,外加一行打印一个func() 的返回值 None
UTF%MRC38W}9L@73CU`II9V.png

最佳答案

查看完整内容

1、是正常递归,func() 无返回值,在 i = 0 的时候递归结束,最终打印 i 行输出,每行一个 123 2、是正常递归,func() 只是递归分支有返回值,由于在最关键的 i = 0 的时候没有返回值,所以,最后返回的实际上是 i 个 None,最终打印 i 行输出,每行一个 123 3、是正常递归,func() 无返回值,在 i = 0 的时候递归结束,最终打印 i × 2 行输出,每行一个 123,外加一行打印一个func() 的返回值 None
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-11-5 21:17:41 | 显示全部楼层    本楼为最佳答案   
        1、是正常递归,func() 无返回值,在 i = 0 的时候递归结束,最终打印 i 行输出,每行一个 123
        2、是正常递归,func() 只是递归分支有返回值,由于在最关键的 i = 0 的时候没有返回值,所以,最后返回的实际上是 i 个 None,最终打印 i 行输出,每行一个 123
        3、是正常递归,func() 无返回值,在 i = 0 的时候递归结束,最终打印 i × 2 行输出,每行一个 123,外加一行打印一个func() 的返回值 None
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-11-8 18:52:10 | 显示全部楼层
jackz007 发表于 2022-11-5 22:37
1、是正常递归,func() 无返回值,在 i = 0 的时候递归结束,最终打印 i 行输出,每行一个 123
   ...

请问函数的返回值没有或者是None有什么区别吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-11-8 19:09:17 | 显示全部楼层
wangye666 发表于 2022-11-8 18:52
请问函数的返回值没有或者是None有什么区别吗?

         我已经说了,Python 给无返回值函数安排的返回值是 None,任何人都不应该使用无返回值函数的返回值。例如:x = sin(30) 是有意义的,因为我们在指望 sin() 有返回值,但是 x = print() 没有价值,因为谁也不会关心 print() 返回的结果,并使用它。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-18 02:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表