鱼C论坛

 找回密码
 立即注册
查看: 1377|回复: 2

[已解决]第020講請益內部函數返回值問題

[复制链接]
发表于 2017-12-15 17:08:55 | 显示全部楼层 |阅读模式

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

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

x
小鱼老师在第020讲上课过程中,举下面的程为例时有提及Python里面都是对象,所以在Python中只要记住名字,不用理其是什么类型、数掾、变量。
  1. def FunX(x):
  2.     def FunY(y):
  3.         return x*y
  4.     return FunY
复制代码

故只return FunY, 但我很将返回值改成FunY(), 程式会报错,我想请益的是,返回值FunY v.s. FunY(),重要的差别在那里,我不是很了解有无加括号的差异。
  1. def FunX(x):
  2.     def FunY(y):
  3.         return x*y
  4.     return FunY()
复制代码
最佳答案
2017-12-15 17:11:09
因为你内部的函数是有形参的,所以如果你想返回内部函数,应该这样写
return FunY(y),同时需要在函数体内或FunX函数形参列表中加上y变量
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-12-15 17:11:09 | 显示全部楼层    本楼为最佳答案   
因为你内部的函数是有形参的,所以如果你想返回内部函数,应该这样写
return FunY(y),同时需要在函数体内或FunX函数形参列表中加上y变量
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-16 13:32:58 | 显示全部楼层
綜理起來,Python是對象的意思,如上述函數,FunX是函數名字,如果是FunX調用,裡面還有形參,所以還要對加()對形參賦值。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-4 19:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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