zoukankan      html  css  js  c++  java
  • python——三元运算、lambda表达式

    一、三元运算 

      格式:对象 = 值1 if 条件 else 值2                当条件成立将值1赋给对象,反之将值2赋给对象

    >>> name = 1 if True else 2
    >>> name
    1
    >>> name = 1 if False else 2
    >>> name
    2
    

      通式:代码1  if 条件 else 代码2                    当条件成立执行if前面的代码1,不成立则执行代码2

    二、lambda表达式

      格式:函数名 = lambda 形参:功能代码

    无参数
    f2 = lambda : 123
    print(f2())
    结果:123
    #有参数
    f2 = lambda a1,a2 : a1+a2
    print(f2(1,2))
    结果:3
    #偶数加100,其它返回原值(混合三元运算)
    f2 = lambda x: x + 100 if x % 2 == 0 else x
    for x in range(5):
        ret = f2(x)
        print(ret)
    结果:
    100
    1
    102
    3
    104
    

      注:不能有赋值(assignment 赋值)符号在lambda里面

    f2 = lambda x: x = x + 100 if x % 2 == 0 else x
    报错:SyntaxError: can't assign to lambda               #语法错误:不能赋值给lambda
    

      

  • 相关阅读:
    动手动脑感想
    原码反码补码
    java测试感想
    报告
    假期报告
    假期报告
    java学习进度
    《大道至简》读后感
    2020/1/31 PHP代码审计之目录穿越漏洞
    [极客大挑战 2019]BabySQL
  • 原文地址:https://www.cnblogs.com/tandonghao/p/9153007.html
Copyright © 2011-2022 走看看