Blizzard0319 发表于 2021-2-18 11:35:42

20讲课后练习题的疑问


def funOut():
    def funIn():
      print('宾果!你成功访问到我啦!')
    return funIn()
def funOut():
    def funIn():
      print('宾果!你成功访问到我啦!')
    return funIn
这两个代码只是最后返回少了个(),为什么后面是闭包,前面直接调用就行了?或者说最后这个return返回的东西到底是啥?

昨非 发表于 2021-2-18 11:39:14

看看这个
<font color="red">[已解决]</font>Python 020讲 关于调用函数带和不带括号的问题
https://fishc.com.cn/thread-173008-1-1.html
(出处: 鱼C论坛)

qq1151985918 发表于 2021-2-18 12:38:34

第一个 返回的是一个执行函数第二个只是返回了一个函数
这个函数仍然需要调用,你试试funOut()它只是一个函数,但是funOut()()就是执行了里边的那个函数
页: [1]
查看完整版本: 20讲课后练习题的疑问