三元表达式
符合python语法的表达方式(形式,公式)称之为表达式
三元:三个元素
总体就是,由三个元素组成表达式
其目的是为了简化书写,既然是简化必然有局限性
三元表达式只能帮你简化仅有两个分支的if判断,并且这个判断无论成立与否都必须返回一个值
递归
递归指的是递归调用,简单地说就是一个函数在执行过程中又直接或间接的调用了该函数本身 递归时可能出现以下错误
RecursionError: maximum recursion depth exceeded while calling a Python object
在调用函数时超出了最大递归深度
python为了防止递归太多导致内存溢出,所以给递归调用加上了深度(次数)限制,默认1000 递归调用本质上就是在循环执行代码,与不同循环不同的是,函数调用,会产生一系列内存开销,所以就会导致内存溢出,
而循环则没有这个问题
如此一来,则表示所有递归能干的事情循环也能干 在使用递归时要注意:
1.一定要在某个条件满足时结束循环调用
2.循环调用的次数不能超过系统的限制
3.每一次执行函数都应该使问题的规模减少,否则就是无用的循环
4.python中没有尾递归优化机制(使得递归调用占用的开销更小) 在使用递归完成遍历所有元素(不知道有几层)时,可以发现,递归使用起来,代码量更少,并且代码结构更加清晰
什么时候该使用递归:
你不知道到底要循环几次
匿名函数
匿名指的就是没有名字
其最明显的特点是
有名字的值可以多次使用,多次访问
而没有名字的值,只能临时使用一次,用完就没了
匿名函数与有名函数的区别
关键字为lambda
参数不需要括号,并且支持所有类型的参数
名称空间与作用域关系完全相同
函数体中不能写return,会自动将执行结果返回
函数体只能有一个表达式且不能换行
匿名函数什么时候使用
当你的函数体只有一行表达式时并且只使用一次时就可以作为匿名函数
更多的是与内置函数连用(max,min,sorted,map,filter,reduce)

day15的更多相关文章

  1. day15<集合框架>

    集合框架(对象数组的概述和使用) 集合框架(集合的由来及集合继承体系图) 集合框架(Collection集合的基本功能测试) 集合框架(集合的遍历之集合转数组遍历) 集合框架(Collection集合 ...

  2. 一起学 Java(三) 集合框架、数据结构、泛型

    一.Java 集合框架 集合框架是一个用来代表和操纵集合的统一架构.所有的集合框架都包含如下内容: 接口:是代表集合的抽象数据类型.接口允许集合独立操纵其代表的细节.在面向对象的语言,接口通常形成一个 ...

  3. 【目录】JUC集合框架目录

    JUC集合框架的目录整理如下: 1. [JUC]JUC集合框架综述 2. [JUC]JDK1.8源码分析之ConcurrentHashMap(一) 3. [JUC]JDK1.8源码分析之Concurr ...

  4. java面试题——集合框架

    先来看一下集合框架关系图 Collection FrameWork 如下: Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └S ...

  5. Java使用实现面向对象编程:第七章集合框架的解读=>重中之重

    对于集合框架,是非常重要的知识,是程序员必须要知道的知识点. 但是我们为什么要引入集合框架呢? 我们之前用过数组存储数据,但是采用数组存储存在了很多的缺陷.而现在我们引用了集合框架,可以完全弥补了数组 ...

  6. Java集合框架List,Map,Set等全面介绍

    Java集合框架的基本接口/类层次结构: java.util.Collection [I]+--java.util.List [I]   +--java.util.ArrayList [C]   +- ...

  7. Java集合框架练习-计算表达式的值

    最近在看<算法>这本书,正好看到一个计算表达式的问题,于是就打算写一下,也正好熟悉一下Java集合框架的使用,大致测试了一下,没啥问题. import java.util.*; /* * ...

  8. Java 之 集合框架(JCF)

    1.集合框架 a.框架:为了实现某一目的或功能,而预先提供的一系列封装好的.具有继承或实现关系的类与集合 b.集合:①定义:Java中对一些数据结构和算法进行封装,即封装(集合也是一种对象) ②特点: ...

  9. 【集合框架】Java集合框架综述

    一.前言 现笔者打算做关于Java集合框架的教程,具体是打算分析Java源码,因为平时在写程序的过程中用Java集合特别频繁,但是对于里面一些具体的原理还没有进行很好的梳理,所以拟从源码的角度去熟悉梳 ...

  10. 【集合框架】JDK1.8源码分析之Comparable && Comparator(九)

    一.前言 在Java集合框架里面,各种集合的操作很大程度上都离不开Comparable和Comparator,虽然它们与集合没有显示的关系,但是它们只有在集合里面的时候才能发挥最大的威力.下面是开始我 ...

随机推荐

  1. poj1416

    #include<iostream> using namespace std; int target,datanum; ],temproad[]; int N,flag,maxsum; ] ...

  2. k8s-No.1-概述与架构

    本章目录 k8s概述 k8s系统架构 k8s工作流程图 一  概述 k8s是什么 k8s是谷歌公司基于内部容器管理系统borg开源出的一个容器集群管理工具,它是用go语言开发,提供了容器的应用部署,规 ...

  3. 【托业】【怪兽】TEST01

    101. respectable 值得尊敬的(形容人或事物) respectful 态度恭敬的(形容人) respecting 关于…… respective 各自的 102. hardly 几乎没有 ...

  4. spring-boot war包

    接着上面的spring-boot项目,直接使用jar包方便调试,在开发阶段非常方便,生产上最好打成war形式 要想spring-boot打war包,还是从pom.xml入手 1.1 调整pom.xml ...

  5. log4j日志输出框架

    什么是log4j框架呢? log4j是一个日志输出框架,用于输出日志的.比如MyBatis的日志就是通过log4j输出的,主流框架都是log4j输出的,Spring框架 也可以通过log4j输出日志! ...

  6. js中类似null==flase的比较图集

    以上是比较全的图集了,大家可以自行测试.

  7. [py]资源搜集

    python在线内存图 我会把一些好的py book的资源放到这里 来源: https://piaosanlang.gitbooks.io/spiders/10day/README10.html Le ...

  8. 2019.04.23 Scrapy框架

    1.环境搭建 2.选择需要的.whl文件下载,一般选择最后的,感觉意思是最近更新的包,以下是.whl文件下载链接地址: http://www.lfd.uci.edu/~gohlke/pythonlib ...

  9. Google搜索中的突变XSS-JavaScript Library Introduced XSS Flaw in Google Search

    前言2018年9月26日,开源Closure库(最初由谷歌创建并用于谷歌搜索)的一名开发人员创建了一个提交,删除了部分输入过滤.据推测,这是因为开发人员在用户界面设计方面出现了问题.但此次提交的开发人 ...

  10. Javascript扩展String.prototype实现格式金额、格式时间、字符串连接、计算长度、是否包含、日期计算等功能

    <script src="Js/jquery-3.1.1.min.js"></script> <script type="text/java ...