• Python 进阶 之 lambda 匿名函数


    lambda 是个匿名函数,通常用于简单判断或者处理,例如判断一个数的奇偶性,过滤字符串,逻辑运算等等。

    lambda表达式:

      >>>lambda x:x*x
      >>>lambda x,y:x*y
    

        lambda介绍:“:”左边的"x"; "x,y",代表了声明的变量,变量参数为多个时用逗号隔开,“:”为表达式,表达式的返回值即为整个lambda匿名函数的返回值

    lambda表达式嵌套:

      >>>lambda x,y:lambda a,b:a+b+x+y
    

        lambda介绍:嵌套后内层的lambda函数可引用外层lambda声明的变量,但一般不建议嵌套,可读性太差。

    lambda使用方法:

        第一种方法:直接赋值,赋值格式见代码

    >>> (lambda x:x*x)(5)
    25
    >>> (lambda x,y:x*y)(5,6)
    30
    >>> (lambda x,y:lambda a,b:a+b+x+y)(1,2)(3,4)
    10
    

      第二种方法:表达式赋给对象,对对象赋值

    >>> object = (lambda x:x*x)
    >>> object(5)
    25
    >>> object = (lambda x,y:x*y)
    >>> object(5, 6)
    30
    >>> object = (lambda x,y:lambda a,b:a+b+x+y)
    >>> object(1, 2)(3, 4)
    10
    

      通常情况下lambda不单独使用,lambda与map,filter 等可迭代函数相结合来批量完成某个功能的转换。

      例如:

      根据字符串类型的IP和子网掩码来计算网段。

    >>> ip = "10.17.99.63"
    >>> netmask = "255.255.0.0"
    >>> ".".join(map(lambda x,y:str(int(x)&int(y)),ip.split("."), netmask.split(".")))
    '10.17.0.0'
    

      

       

      

  • 相关阅读:
    javascript 操作DOM元素样式
    javascript 对象
    javascript 事件对象
    javascript 常用尺寸属性
    团队编程项目作业3-模块开发过程
    buuctf-misc 基础加密
    buuctf-misc 你竟然赶我走
    buuctf-misc 大白
    buuctf-misc N种方法解决
    buuctf-misc二维码
  • 原文地址:https://www.cnblogs.com/JansXin/p/7451613.html
Copyright © 2020-2023  润新知