云上的天涯

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

统计

python 函数返回值笔记

今天学习python时候学习到闭包和柯里化

感觉看概念时候不好理解,自己写下大概就明白点了

柯里化如下

定义一个加法函数

def add(x, y):

    return x + y

这是没有柯里化之前的函数

def add(x):

    def inner(y):

        return x + y

   return inner

这是柯里化之后的函数,返回值也是个函数,并且传入参数变成一个了。

print(add(5)(6)) 这样调用下试试,是不是可以了?

再来看个无聊的东西

def add():
    def second():
        def third():
            return 3
       return third
    return second

print(add()()())

这个函数会返回什么?

当然是3了

那么如果这样调用呢

print(add()) 会返回什么呢?,肯定会返回second函数的内存地址啊

<function add.<locals>.second at 0x02F28F18>

print(add()()) 

<function add.<locals>.second.<locals>.third at 0x02F58E88>

函数调用,几层调用就返回几层的返回值,这么说可能有点不严谨,但是事实就是这样的。

 

posted on   云上的天涯  阅读(119)  评论(0编辑  收藏  举报

点击右上角即可分享
微信分享提示