zoukankan      html  css  js  c++  java
  • Python之Lambda与三元运算

    Python之Lambda与三元运算

    Lambda 运算

    概念:是指一类无需定义标识符(函数名)的函数或者子程序。
    特点:匿名函数不使用def定义函数,使用lambda来创建匿名函数
    1.lambda只是一个表达式,函数体比def简单
    2.lambda的主体是一个表达式,而不是一个代码块,仅仅只能在lambda表达式中封装简单的逻辑
    3.lambda函数有自己的命名空间,且不能访问自由参数列表之外的或全局命名的空间参数(只能用自己的参数,其他的用不了)

    lambda 语法:
    lambda 参数1,参数2,…,参数n: expression[表达式]

    sum = lambda num1, num2: num1 + num2
    print(sum(1, 2))
    输出:
    3

    Lambda表达式和if not...else用法

    #if 条件为真的时候返回if前面内容,否则返回0 
    exp1= lambda x:x+1 if  2==1 else 0 
    print(exp1(2))
    exp2 = lambda x:x+1 if  1==1 else 0 
    print(exp2(2))
    
    输出:
    0
    3
    #if not 为假返回if not前面内容,否则返回0  
    exp3 = lambda x:x+1 if not 2==1 else 0  
    print(exp3(2))  
      
    exp4 = lambda x:x+1 if not 1==1 else 0  
    print(exp4(2))
    
    输出:
    3
    0

    三元运算

    a = 1
    b = 2
    h = ""
    
    h = "变量1" if a>b else "变量2"
    
    print(h)
    # 普通条件语句
    if 1 == 1:
        name = ‘Jack Ma'
    else:
        name = ‘pony'
      
    # 三元运算
    name = ‘Jack Ma' if 1 == 1 else ' pony'
    def whoIs_richest(jackMa='alibaba', pony='tencent'):
           return 'jackMa' if len(jackMa)>len(pony) else 'pony'
    
    print(whoIs_richest())
    
    输出:
    pony
  • 相关阅读:
    驱动表
    将索引移动到别的表空间
    log file sync, log file parallell write
    Full Hint
    4wpa_supplicant适配层 详解
    wifi 驱动 进阶11
    wifi 驱动 进阶11
    基于linux2.6.38.8内核的SDIO/wifi驱动分析
    6wpa_supplicant无线网络配置
    2系统启动后的 wifi加载 过程图解
  • 原文地址:https://www.cnblogs.com/111testing/p/11914818.html
Copyright © 2011-2022 走看看