鱼C论坛

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

[已解决]求大佬帮助

[复制链接]
发表于 2020-4-13 03:51:10 | 显示全部楼层 |阅读模式

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

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

x
def funOut():
    def funIn():
        print('宾果!你成功访问到我啦!')
    return funIn

还是没明白这里的funIn是啥?返回了啥?它和funIn()的区别是啥?
最佳答案
2020-4-13 08:11:59
举个例子:
>>> def func():
        pass

>>> # 这是funin的结果
>>> func
<function func at 0x000002963DF54A60>
>>> # 返回的是一个函数对象
>>> # 但你要是直接调用:
>>> func()
>>> # 就会返回函数的结果(我这里的函数体写了pass,你可以改改看结果)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-13 08:02:24 | 显示全部楼层
return funIn 就是返回 funIn 本身,return funIn() 是调用 funIn 并返回 funIn 的返回值。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-13 08:11:59 | 显示全部楼层    本楼为最佳答案   
举个例子:
>>> def func():
        pass

>>> # 这是funin的结果
>>> func
<function func at 0x000002963DF54A60>
>>> # 返回的是一个函数对象
>>> # 但你要是直接调用:
>>> func()
>>> # 就会返回函数的结果(我这里的函数体写了pass,你可以改改看结果)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-13 08:15:47 | 显示全部楼层
给你列了一下执行步骤
1、执行funOut(),结果返回了funIn()并同时调用了funIn()
2、执行funIn(),结果打印了'宾果!你成功访问到我啦!'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-26 11:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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