ly-chengwu 发表于 2020-3-31 22:10:16

下面两行代码的返回值有啥区别?

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


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

ouyunfu 发表于 2020-3-31 22:15:25

带括号(参数或者无参),调用的是函数的执行结果,须等该函数执行完成的结果
不带括号时,调用的是这个函数本身 ,是整个函数体,是一个函数对象,不须等该函数执行完成

ba21 发表于 2020-3-31 22:18:16

对象加()取值
不加 是地址

十月故里 发表于 2020-4-1 16:21:24

相当于你定义了一个函数,你想看他存放的内存地址就只输入函数名
如果你要看他输出结果,就得让他跑起来加()
页: [1]
查看完整版本: 下面两行代码的返回值有啥区别?