美文网首页
Python 练习-函数式编程-(02)

Python 练习-函数式编程-(02)

作者: 庭阶 | 来源:发表于2019-01-08 18:10 被阅读0次

    1 返回函数

    闭包的作用:

    https://www.cnblogs.com/JohnABC/p/4076855.html

    闭包=函数块+定义函数时的环境,adder就是函数块,x就是环境,当然这个环境可以有很多,不止一个简单的x。


    image.png

    练习:利用闭包返回一个计数器函数,每次调用它返回递增整数:

    def createCounter():
        a=[0]
        def counter():
            a[0]=a[0]+1
            return a[0]
        return counter
    
    counterA=createCounter()
    print(counterA(),counterA(),counterA(),counterA())
    
    

    运行结果:

    image.png

    2 匿名函数

    规则:只能有一个表达式,不用谢return,返回值就是该表达式的结果。
    匿名函数好处:函数没名字,不用担心函数名冲突。
    匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量调用该函数。


    image.png

    练习:

    请用匿名函数改造下面的代码:

    
    def is_odd(n):
        return n % 2 == 1
    
    L = list(filter(is_odd, range(1, 20)))
    

    改造后:

    L = list(filter(lambda x:x%2==1, range(1, 20)))
    print(L)
    

    3 装饰器

    4 偏函数

    image.png

    相关文章

      网友评论

          本文标题:Python 练习-函数式编程-(02)

          本文链接:https://www.haomeiwen.com/subject/ajdurqtx.html