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

三元运算

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

Python之Lambda与三元运算的更多相关文章

  1. python 匿名函数与三元运算

    匿名函数 匿名函数就是不需要显示式的指定函数名 首先看一行代码: def calc(x,y): return x*y print(calc(2,3)) # 换成匿名函数 calc = lambda x ...

  2. python匿名函数与三元运算

      匿名函数 匿名函数就是不需要显示式的指定函数名 首先看一行代码: def calc(x,y): return x*y print(calc(2,3)) # 换成匿名函数 calc = lambda ...

  3. python基础-3 集合 三元运算 深浅拷贝 函数 Python作用域

    上节课总结 1 运算符 in 字符串 判断  : “hello” in "asdasfhelloasdfsadf" 列表元素判断:"li" in ['li', ...

  4. python_way,day3 集合、函数、三元运算、lambda、python的内置函数、字符转换、文件处理

    python_way,day3 一.集合 二.函数 三.三元运算 四.lambda 五.python的内置函数 六.字符转换 七.文件处理 一.集合: 1.集合的特性: 特性:无序,不重复的序列 如果 ...

  5. Python之路第三天,基础(3)-set,函数,内置函数,文件,三元运算,lambda

    set集合 集合是一个无序的,不重复的元素集合. 集合的创建: name_set = {'tom','jerry','alex','rose'} 或 name_set = set(['tom','je ...

  6. python lambda表达式与三元运算

    1.三元运算 格式: 为真时的结果 if 判定条件 else 为假时的结果 #!/usr/bin/python # -*- coding: UTF-8 -*- def f(x, y): # 如果x大于 ...

  7. Python三元运算和lambda表达式

    一.三元运算 1.定义:三元运算是if-else 语句的快捷操作,也被称为条件运算. 2.结构: [on_true]  if  [expression]  else  [on_false] 3.示例: ...

  8. 第三天 函数 三元运算 lambda表达式 内置函数 文件操作

    面向过程: 直接一行一行写代码,遇到重复的内容复制黏贴. 不利于代码阅读 代码没有复用 面向对象 将代码块定义为函数,以后直接调用函数 增强了复用性 函数的定义方法 def 函数名(传递参数): 函数 ...

  9. python之路(sed,函数,三元运算)

    python之路(sed,函数,三元运算) 一.sed集合 1.set无序,不重复序列 2.创建 se = {11,22,33,33,44} list() #只要是一个类加上()自动执行 list _ ...

随机推荐

  1. 继续了解Java的纤程库 – Quasar

    前一篇文章Java中的纤程库 – Quasar中我做了简单的介绍,现在进一步介绍这个纤程库. Quasar还没有得到广泛的应用,搜寻整个github也就pinterest/quasar-thrift这 ...

  2. VirtualBox下设置 XP虚拟机桥接模式

    virtualBox下设置虚拟机桥接模式

  3. eclipse svn 提交、更新报错

    问题描述: svn: Unable to connect to a repository at URL 'https://test.com/svn/clouds/trunk/fire_Alarm'sv ...

  4. WIN2K8R2安装MySQL5.7及Tomcat8.5

    一.WIN2K8R2操作系统配置: 1.激活: 2.关闭防火墙: 3.打开远程桌面: 4.设置密码永不过期: 5.update:

  5. python自动化测试框架

    一.环境准备 1.python开发环境, python3.7 2.setuptools基础工具包 3.pip安装包管理工具 4.selenium自动化测试工具  chrom驱动下载地址: http:/ ...

  6. Kotlin属性引用进阶与构造方法引用

    继续还是探讨Kotlin反射相关的知识点,说实话这块不是太好理解,待在实际工作中去对它进行实践慢慢来加深印象. 属性引用进阶: 在Kotlin中的反射其实是跟Java的反射有对应关系的,具体相关的定义 ...

  7. 项目Alpha冲刺--7/10

    项目Alpha冲刺--7/10 作业要求 这个作业属于哪个课程 软件工程1916-W(福州大学) 这个作业要求在哪里 项目Alpha冲刺 团队名称 基于云的胜利冲锋队 项目名称 云评:高校学生成绩综合 ...

  8. 批量插入实体类转化DataTable

    /// <summary> /// 根据实体类得到表结构 /// </summary> /// <param name="model">实体类& ...

  9. java通过JDBC连接Oracle并调用存储过程和存储方法

    初始配置:电脑安装oracle 11g(这里也可使是其它版本也可,此教程演示为11g),java环境,eclipse,oracle关于jdbc的jar包. 一,在scott用户下首先要有存储过程和存储 ...

  10. DATAGRID显示序号

    SolidBrush b = new SolidBrush(this.dgvDetail.RowHeadersDefaultCellStyle.ForeColor);            e.Gra ...