aiivu 发表于 2020-4-13 03:51:10

求大佬帮助

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

还是没明白这里的funIn是啥?返回了啥?它和funIn()的区别是啥?

zltzlt 发表于 2020-4-13 08:02:24

return funIn 就是返回 funIn 本身,return funIn() 是调用 funIn 并返回 funIn 的返回值。

qiuyouzhi 发表于 2020-4-13 08:11:59

举个例子:
>>> def func():
        pass

>>> # 这是funin的结果
>>> func
<function func at 0x000002963DF54A60>
>>> # 返回的是一个函数对象
>>> # 但你要是直接调用:
>>> func()
>>> # 就会返回函数的结果(我这里的函数体写了pass,你可以改改看结果)

麻麦皮 发表于 2020-4-13 08:15:47

给你列了一下执行步骤
1、执行funOut(),结果返回了funIn()并同时调用了funIn()
2、执行funIn(),结果打印了'宾果!你成功访问到我啦!'
页: [1]
查看完整版本: 求大佬帮助