函数

1.递归函数

自己不断调用自己的过程

2.递归求和

1 def sum(arg):
2 if arg == 1:
3 return 1
4 return arg + sum(arg - 1)
5 print(sum(5))

3.递归分解

 1 def a(arg):
2 print(arg) # 第一步: 3
3 b(arg - 1) # 第二步:b(2)
4 print(arg) # 第八步: 3
5
6
7 def b(arg):
8 print(arg) # 第三步:2
9 c(arg - 1) # 第四步:1
10 print(arg) # 第七步:2
11
12
13 def c(arg):
14 print(arg) # 第五步:1
15 print(arg) # 第六步:1 回到函数调用处
16
17
18 a(3)

匿名函数lambda

1.格式

lambda[参数]:表达式内容

2.定义

不在使用def关键字定义函数,而是使用lambda创建匿名函数

3.特点

--lambda为一个表达式,所以定义比def简单

--lambda主体是一个表达式,而不是代码块,所以只能封装有限的逻辑

--lambda有自己的命名空间

4.示例

1 res = lambda a, b: a + b
2 print(res(1, 2))

高阶函数

1.map、reduce函数

---map函数

fn:传递函数

lsd:集合

功能:将传入的函数作用在集合的每一个元素上,并返回iterator

示例:

1 list1 = ['1', '2', '3']
2 def changint(a):
3 print(a, type(a))
4 return int(a)
5 print(list(map(changint, list1)))
6 print(list(map(bool, list1)))
7 print(list(map(float, list1)))

--reduce函数

fn:传递为一个函数

lsd:传入集合

功能:传入的集合中的每个元素都会作用在我们传递的函数上,做累加运算,必须传递两个参数。

1 from functools import reduce
2 list1 = list(range(10))
3
4
5 def mysum(x, y):
6 print(x, y)
7 return x + y
8 print(reduce(mysum, list1))

filter函数

fn:传入函数

lsd:传入集合

用于过滤列表;将列表中的每个元素作用于传入的函数上,根据返回值的true/false来确定是否保留该元素

示例:

1 lis = list(range(1, 11))
2 def fun(i):
3 if not i % 2:
4 return True
5 return False
6 print(list(filter(fun, lis)))

去除空字符串

 1 lis = list(range(1, 11))
2 def fun(i):
3 if not i % 2:
4 return True
5 return False
6
7 lis1 = ['a', 'b',' ', 'c', ' ', '1']
8 def fun1(i):
9 return i and i.strip()
10 print(list(filter(fun1, lis1)))

sorted函数

lsd:集合

key:排序的规则

作用:将集合中的每个元素作用于key函数上,根据函数结果进行排序。

示例:

1 lis1 = [1, 2, 0, 5, 3, -1]
2 print(list(sorted(lis1))) # 大小排序
3 lis2 = ['a', 'abc', 'ab', 'abcddd', 'addd']
4 print(sorted(lis2, key=len)) # 按长度排序

初学Python-day11 函数4的更多相关文章

  1. Python——day11 函数(对象、名称空间、作用域、嵌套、闭包)

    一.函数对象  函数名就是存放了函数的内存地址,存放了内存地址的变量都是对象,即 函数名 就是 函数对象  函数对象的应用 1. 可以直接被引用  fn = cp_fn 2 .可以当作函数参数传递 c ...

  2. python day11 函数(第三篇)

    2019.4.11 S21 day11笔记总结 1. 函数小高级 ( 5* ) 1 函数名可以当作变量来使用 def func(): print(123) v1 = func # func代表函数的地 ...

  3. 跟着太白老师学python day11 函数名的应用 globals(), locals()

    1.  函数名就是内存地址 def func(): ') print(func) >>>> <function func at 0x00000000003DC1E0> ...

  4. 初学 Python(十三)——匿名函数

    初学 Python(十三)--匿名函数 初学 Python,主要整理一些学习到的知识点,这次是匿名函数. # -*- coding:utf-8 -*- #关键字lambda定义的函数都是匿名函数 #做 ...

  5. 初学 Python(十二)——高阶函数

    初学 Python(十二)--高阶函数 初学 Python,主要整理一些学习到的知识点,这次是高阶函数. #-*- coding:utf-8 -*- ''''' 话说高阶函数: 能用函数作为参数的函数 ...

  6. 初学Python(九)——函数

    初学Python(九)--函数 初学Python,主要整理一些学习到的知识点,这次是函数. 函数定义: # -*- coding:utf-8 -*- #函数的定义 def my_function(x) ...

  7. Python中函数、类、模块和包的调用

    初学python阶段,大多数人对函数.类.模块和包的调用都搞得不是很清楚,这篇随笔就简单的进行说明. (1)函数 当函数定义好之后,可以直接调用. 比如:def summ(add1,add2),那么 ...

  8. 初学 Python(十五)——装饰器

    初学 Python(十五)--装饰器 初学 Python,主要整理一些学习到的知识点,这次是生成器. #-*- coding:utf-8 -*- import functools def curren ...

  9. 初学 Python(十四)——生成器

    初学 Python(十四)--生成器 初学 Python,主要整理一些学习到的知识点,这次是生成器. # -*- coding:utf-8 -*- ''''' 生成式的作用: 减少内存占有,不用一次性 ...

  10. 初学python之感悟

    python的强大有目共睹,现将初学python,觉得其中比较重要的知识罗列如下: 类似于数组的东西:列表.元组.集合.字符串以及字典,这几个东西充分体现了python的强大和逆天. 列表: x=[1 ...

随机推荐

  1. 【数据库上】 第四讲 E-R模型基础知识

    第四讲 E-R模型基础知识 一.数据库设计过程 数据库设计的关键阶段? 各个阶段设计的主要任务? 基础条件:清楚一个应用系统的功能需求与数据需求(直接与用户交互.数据流程图示例/UML类图等) 核心阶 ...

  2. Python - 面向对象编程 - 什么是对象和类

    面向对象编程 Object Oriented Programming,简称 OOP,是一种程序设计思想 OOP 把对象作为程序的基本单元,一个对象包含了数据和操作数据的方法 Python里面有一句话: ...

  3. Cython 模块扩展 - 编程语言 替代实现 应用领域 汇总一览

    Python 本身只是一种编程语言规范,可以使用其它编程语言实现它或扩展它:譬如:采有 Python C Java .Net 等重实现 Python,而采用 Python C/C++ C# Java ...

  4. Model 特性

    表 1 AssociatedMetadataTypeTypeDescriptionProvider 通过添加在关联类中定义的特性和属性信息,从而扩展某个类的元数据信息. AssociationAttr ...

  5. python库--tensorflow--数学函数

    官方API(需FQ) 中文API 方法 返回值类型 参数 说明 算数运算符 .add() Tensor x, y, name=N 加法(若x,y都为tensor, 数据类型需一致, 以下所有x,y都如 ...

  6. 路由懒加载---Vue Router

    一.什么是懒加载? 懒加载也就是延迟加载或者按需加载,即在需要的时候进行加载. 二.为什么在Vue路由中使用懒加载? 像vue这种单页面应用,如果没有应用懒加载,运用webpack打包后的文件将会异常 ...

  7. easyx小游戏

    #include "stdafx.h" int main(){ srand(time(NULL)); initgraph(640,480); int user_x=20,user_ ...

  8. python matplotlib.pyplot 条形图详解

    python matplotlib.pyplot 条形图详解 一.创建直方图 可以用bar函数来创建直方图 然后用show函数显示直方图 比如: import matplotlib.pyplot as ...

  9. VSCode Remote-SSH 连接服务器

  10. IDEA 集成 Docker 插件实现一键远程部署 SpringBoot 应用,无需三方依赖,开源微服务全栈项目有来商城云环境的部署方式

    一. 前言 最近有些童鞋对开源微服务商城项目 youlai-mall 如何部署到线上环境以及项目中 的Dockerfile 文件有疑问,所以写了这篇文章做个答疑以及演示完整的微服务项目发布到线上的流程 ...