zoukankan      html  css  js  c++  java
  • 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>

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

  • 相关阅读:
    win10 uwp 装机必备应用 含源代码
    win10 uwp 装机必备应用 含源代码
    win10 uwp clone
    win10 uwp clone
    win10 输入法禁用IME
    win10 输入法禁用IME
    win10 输入法禁用IME
    查看SQL运行时间
    [学习笔记]三元环
    数据库范式
  • 原文地址:https://www.cnblogs.com/hh2737/p/9187236.html
Copyright © 2011-2022 走看看