Monsieur. 发表于 2022-1-24 15:44:51

请问这里什么意思

return funIn
return funIn()
这两个有什么区别呢为什么引用内嵌函数的时候方法不一样?

wp231957 发表于 2022-1-24 15:54:48

这里就是传统的值和址的问题

第一个括号代表函数的返回值第一个是返回内联函数的调用(这本质是返回一个值)所以就是普通函数的调用
                                          第二个返回的是内联函数的地址,要对这个地址进行调用还要再加一个括号

wp231957 发表于 2022-1-24 16:11:11

defadd(a,b):
    x=a+b
    y=a-b
    def mul(a,b):
      return a*b*x*y
    return mul(10,100)


#普通调用
print(add(5,8))      


#修改为地址调用
defadd(a,b):
    x=a+b
    y=a-b
    def mul(a,b):
      return a*b*x*y
    return mul

#请注意和上一个在调用上的区别
print(add(5,8)(10,100))         

'''
PS C:\Users\Administrator> & C:/Programs/Python/python.exe d:/wp/test7.py
-39000
-39000
PS C:\Users\Administrator>
'''

python爱好者. 发表于 2022-1-24 18:34:11

一个不带括号的是表示传递函数整个对象,
后面带括号的时表示传递函数运行后的结果!


懂了吗?不懂可以再问!懂了就给个好评呗!!!
{:10_257:}{:10_297:}{:10_281:}{:10_298:}
打字不易!请给个好评!求求了!!!
兄弟!给个好评!求求了!!!
{:10_254:}{:10_254:}{:10_254:}{:10_254:}

python爱好者. 发表于 2022-1-25 08:18:24

感谢兄弟好评!!!
页: [1]
查看完整版本: 请问这里什么意思