鱼C论坛

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

[已解决]20题

[复制链接]
发表于 2017-8-26 22:19:03 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 likuo 于 2017-8-26 22:29 编辑
  1. def fun1():
  2.     x=5
  3.     def fun2():
  4.         x*=x
  5.         return x
  6.     return fun2


  7. def fun1():
  8.     x=5
  9.     def fun2():
  10.         x*=x
  11.         return x
  12.     return fun2()

  13. def funx(x):
  14.         def funy(y)
  15.                 return x+y
  16.         return funy
复制代码



return fun2() 和 return fun2 区别

return funy为什么不加括号
最佳答案
2017-8-26 22:46:49
return fun2
其实返回的是一个函数指针,这个指针指向fun2
就比如以下代码
  1. a = fun1()
复制代码

那么a存的就是fun2函数的指针,之后你可以通过使用a(),来调用fun2函数

  1. return fun2()
复制代码

这么写的时候,其实是先执行了fun2函数,然后将fun2函数的返回值返回
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-8-26 22:33:58 | 显示全部楼层
自己想的,不知道对不对return funy,返回的是funy函数的地址。因为需要在里面添加参数,所以就只是返回的地址。也可以直接  return funy(5),给一个参数,就可以返回函数了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-26 22:46:49 | 显示全部楼层    本楼为最佳答案   
return fun2
其实返回的是一个函数指针,这个指针指向fun2
就比如以下代码
  1. a = fun1()
复制代码

那么a存的就是fun2函数的指针,之后你可以通过使用a(),来调用fun2函数

  1. return fun2()
复制代码

这么写的时候,其实是先执行了fun2函数,然后将fun2函数的返回值返回
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-1 22:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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