• python3


     

    引⽤
    引⽤当做实参

     

    lambda语法
    lambda 参数列表 : 表达式
    lambda表达式的参数可有可⽆,函数的参数在lambda表达式中完全适⽤。
    lambda函数能接收任何数量的参数但只能返回⼀个表达式的值

     

     

     高阶函数

    把函数作为参数传⼊,这样的函数称为⾼阶函数,⾼阶函数是函数式编程的体现。函数式编程就是指这种⾼度抽象的编程范式。
    def sum_num(a, b, f):
     return f(a) + f(b)
    result = sum_num(-1, 2, abs)
    print(result) # 3
    内置⾼阶函数
    map(func, lst),将传⼊的函数变量func作⽤到lst变量的每个元素中,并将结果组成新的列表(Python2)/迭代器(Python3)返回。
    需求:计算 list1 序列中各个数字的2次⽅。
    list1 = [1, 2, 3, 4, 5]
    def func(x):
     return x ** 2
    result = map(func, list1)
    print(result) # <map object at 0x0000013769653198>
    print(list(result)) # [1, 4, 9, 16, 25]
    reduce()
    reduce(func(x,y),lst),其中func必须有两个参数。每次func计算的结果继续和序列的下⼀个元素做累积计算。
    注意:reduce()传⼊的参数func必须接受2个参数。
    import functools
    list1 = [1, 2, 3, 4, 5]
    def func(a, b):
     return a + b
    result = functools.reduce(func, list1)
    print(result) # 15
    filter()filter(func, lst)函数⽤于过滤序列, 过滤掉不符合条件的元素, 返回⼀个 fifilter 对象,。如果要转换为列表,可以使⽤ list() 来转换。
    list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    def func(x):
     return x % 2 == 0
    result = filter(func, list1)
    print(result) # <filter object at 0x0000017AF9DC3198>
    print(list(result)) # [2, 4, 6, 8, 10]

     

     

  • 相关阅读:
    J2那几个E和Web基础
    PHP开发人员对JAVA的WEB开发入门(初版-基础知识)
    一个处理大数据的后台服务(已废弃)
    一个请求过来都经过了什么
    请一定记得升级java虚拟机
    面向对象之 结构体和类的区别
    Swift 结构体的使用
    iOS 波浪效果的实现
    iOS 常用三方(持续更新)
    Xshell 链接 Could not connect to '192.168.80.129' (port 22): Connection failed
  • 原文地址:https://www.cnblogs.com/jikebin/p/13870004.html
Copyright © 2020-2023  润新知