鱼C论坛

 找回密码
 立即注册
查看: 1198|回复: 1

[已解决]017讲--函数-Python的乐高积木

[复制链接]
发表于 2019-5-1 21:40:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
请教一下,小甲鱼给出的答案是 打印“Hello World!”   为什么我运行的结果是 不打印呢?还有,return的作用和用法到底是什么啊?为什么有的函数用return,有的函数不用return,用和不用有什么区别吗?
最佳答案
2019-5-1 22:15:25
本帖最后由 jackz007 于 2019-5-1 22:34 编辑
  1. def calculate(a , b , c) :
  2.     if b == '+'    :
  3.         return a + c
  4.     elif b == '-'  :
  5.         return a - c
  6.     elif b == '*'  :
  7.         return a * c
  8.     elif b == '//' :
  9.         return a / c

  10. print(calculate(58 , '-' , 33))
复制代码

        return 有两个作用,其一,是结束函数调用,也就是从函数中退出;其二,就是把结果反馈给调用者。
        在函数中,不论哪里,只要遇到 return 指令,就会退出,结束函数调用,位于 return 语句后面的其他所有语句都不会得到执行,当然,有些函数没有写 return 语句,在这种情况下,函数就会执行到最后一条代码,然后自行退出。
        在上面的代码中,就是通过 return 语句结束函数调用,并把计算结果传递给调用者的。当然,有些函数可能无需返回结果,在这种情况下,可以在需要结束执行的位置添加一条无参数的 return 语句,以结束函数的调用。当然,如果不需要中途退出,也可以不用 return 语句来终结函数。
        在楼主展示的代码中,'hello world' 永远可以正常打印,而后面的 'wellcom to fishc.com' 却永远没有机会打印,因为其位置在 return 语句的后面。
22.jpg
11.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-5-1 22:15:25 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2019-5-1 22:34 编辑
  1. def calculate(a , b , c) :
  2.     if b == '+'    :
  3.         return a + c
  4.     elif b == '-'  :
  5.         return a - c
  6.     elif b == '*'  :
  7.         return a * c
  8.     elif b == '//' :
  9.         return a / c

  10. print(calculate(58 , '-' , 33))
复制代码

        return 有两个作用,其一,是结束函数调用,也就是从函数中退出;其二,就是把结果反馈给调用者。
        在函数中,不论哪里,只要遇到 return 指令,就会退出,结束函数调用,位于 return 语句后面的其他所有语句都不会得到执行,当然,有些函数没有写 return 语句,在这种情况下,函数就会执行到最后一条代码,然后自行退出。
        在上面的代码中,就是通过 return 语句结束函数调用,并把计算结果传递给调用者的。当然,有些函数可能无需返回结果,在这种情况下,可以在需要结束执行的位置添加一条无参数的 return 语句,以结束函数的调用。当然,如果不需要中途退出,也可以不用 return 语句来终结函数。
        在楼主展示的代码中,'hello world' 永远可以正常打印,而后面的 'wellcom to fishc.com' 却永远没有机会打印,因为其位置在 return 语句的后面。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-3 08:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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