递归函数:

什么是递归函数?

函数递归调用:在调用一个函数的过程中,又直接或间接地调用了该函数本身。

递归必须要有两个明确的阶段:

①递推:一层一层递归调用下去,强调:每进入下一层问题规模减少

②回溯:递归必须要有一个明确的结束条件,在满足该条件时,结束递推,开始一层一层回溯

递归的精髓在于通过不断地重复逼近一个最终的结果

递归的应用:

二分法:

l=[1,2,10,30,33,99,101,200,301,311,402,403,500,900,1000] #从小到大排列的数字列表
def search(n,l):
print(l)
if len(l) == 0:
print('not exists')
return
mid_index=len(l) // 2
if n > l[mid_index]:
#in the right
l=l[mid_index+1:]
search(n,l)
elif n < l[mid_index]:
#in the left
l=l[:mid_index]
search(n,l)
else:
print('find it') search(3,l)

 

匿名函数:

什么是匿名函数:匿名函数就是没有名字的函数,没有名字就意味着用一次就回收了

lambda x,y:x+y

    有名函数与匿名函数的对比
     有名函数:循环使用,保存了名字,通过名字就可以重复引用函数功能
     匿名函数:一次性使用,随时随时定义
 
内置函数:
names={
    'egon':3000,
    'alex':100000000,
    'wupeiqi':10000,
    'yuanhao':2000
}
1.max()  and  min()
工作原理:1.首先将迭代对象变成迭代器对象
        2.res = next(可迭代对象),将res当作参数返回值,传给key指定的函数,然后将该函数的返回值当作判断比较大小的key
      max(names,key = lambda k:names[k])
 
2.sorted(names,key = lambda k:names[k],reverse = False) 
        结果为['yuanhao', 'egon', 'wupeiqi', 'alex']
        reverse 默认为false,false为从小到大排列
 
3.   l = [1,2,3,4]
    map(lambda x:x**2,l)
    工作原理与max相同,但最后返回的是一个迭代器
 
4.filter(lambda k:names[k] > 5000,names)
    返回值为迭代器,留下true的结果
 
带*的必须掌握
杂:abs() 求绝对值       all()迭代每个元素,都为True才返回True,空返回True
bin() 转换为二进制      any()迭代每个元素,有一个True就返回True,空返回False
oct() 转换八进制               *bytes(‘您好’, encoding = ‘utf-80’) = ‘您好’.encode(‘utf-8’)
hex() 转十六进制               callable()检测是非可以被调用
*chr() 参考ASCII将数字转换成对应字符串
*ord() 参考ASCII将字符串转换成对应数字
dir(time) 列举time.后面的所有方法    *divmod(10,3)  得到 (3,1) 即(商,余数)
*eval(‘[1,2,3]’)  可以把字符串里面的列表变成列表
frozenset({1,2,3})  不可变集合     round(四舍五入)
globals()查看全局               locals()查看局部
__import__(‘module’)可以用str导入模块

python基础之递归,匿名,内置函数的更多相关文章

  1. python基础之 装饰器,内置函数

    1.闭包回顾 在学习装饰器之前,可以先复习一下什么是闭包? 在嵌套函数内部的函数可以使用外部变量(非全局变量)叫做闭包! def wrapper(): money =10 def inner(num) ...

  2. 【python基础语法】常用内置函数、关键字、方法和之间的区别(小结)

    ''' 关键字: False:bool数据类型 True:bool数据类型 None:表示数据的内容为空 and:逻辑运算符:与 or:逻辑运算符:或 not:逻辑运算符:非 in:身份运算符,判断变 ...

  3. Python基础(七)内置函数

    今天来介绍一下Python解释器包含的一系列的内置函数,下面表格按字母顺序列出了内置函数: 下面就一一介绍一下内置函数的用法: 1.abs() 返回一个数值的绝对值,可以是整数或浮点数等. 1 2 3 ...

  4. python大法好——递归、内置函数、函数进阶

    1.递归(自己干自己) def fun(n): n=n/2 print(n) if(n>2) fun(n) #函数调用 fun(10) 结果是5 2 1 0 递归的执行过程:递归执行到最里面一层 ...

  5. Python基础(十一)--内置函数

    内置函数 数学类 abs():绝对值 round():四舍五入 >>> round(1.3747,1) 1.4 sum():求和 >>> sum({1:'dj',2 ...

  6. 【python基础】常用的内置函数

    python基础之内置函数 参考: http://www.runoob.com/python/python-built-in-functions.html -zip() zip函数接受任意多个(包括0 ...

  7. python基础学习1-类相关内置函数

    #!/usr/bin/env python # -*- coding:utf-8 -*- #===issubclass(class,classinfo) 检查class是否是classinfo类的子类 ...

  8. Python基础(六)-内置函数

      map().filter().reduce() map(func,iterator) --> filter(func,iterator) --> reduce(func,iterato ...

  9. Python学习(八) —— 内置函数和匿名函数

    一.递归函数 定义:在一个函数里调用这个函数本身 递归的最大深度:997 def func(n): print(n) n += 1 func(n) func(1) 测试递归最大深度 import sy ...

  10. python面向对象的基础语法(dir内置函数、self参数、初始化方法、内置方法和属性)

    面相对象基础语法 目标 dir 内置函数 定义简单的类(只包含方法) 方法中的 self 参数 初始化方法 内置方法和属性 01. dir 内置函数(知道) 在 Python 中 对象几乎是无所不在的 ...

随机推荐

  1. Android控件——ToggleButton多状态按钮(实现灯泡的开关)

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAxoAAAFxCAIAAAB7jkm1AAAgAElEQVR4nOy9eXgUVb7/Dy7j3BnH8T

  2. Pythone3 sys模块

    1.sys.argv 可以实现从程序外部向程序传递参数2.sys.exit() 程序中间退出,exit(0)正常退出,其他为异常退出3.sys.getdefaultencoding() 获取系统编码方 ...

  3. 【Python学习笔记】Pandas库之DataFrame

    1 简介 DataFrame是Python中Pandas库中的一种数据结构,它类似excel,是一种二维表. 或许说它可能有点像matlab的矩阵,但是matlab的矩阵只能放数值型值(当然matla ...

  4. C# 判断一个单链表是否有环及环长和环的入口点

    1.为什么写这个随笔? 前几天参加一个电面,被问到这个问题,想总结一下. 2.为什么标题强调C#? 想在网上看看代码,却没找到C#版的,于是自己用C#实现一下. 一.解决问题的思路 1.一种比较耗空间 ...

  5. 2015多校第6场 HDU 5361 并查集,最短路

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5361 题意:有n个点1-n, 每个点到相邻点的距离是1,然后每个点可以通过花费c[i]的钱从i点走到距 ...

  6. ffmpeg安装与配置

    wget http://www.ffmpeg.org/releases/ffmpeg-3.1.tar.gz tar -zxvf ffmpeg-3.1.tar.gz cd ffmpeg-3.1 ./co ...

  7. https配置注意细节

    直接将阿里云https的ca配置配置好之后如果不通的话很有可能是防火墙原因造成的,还有就是nginx要用1.10以上版本的

  8. 给mongodb设置密码权限

    昨天装了个mongodb数据库用于测试用,装好后没有密码,现在就讲讲怎么设置密码 1.首先进入C:\mongodb\bin下面运行mongod.exe启动数据库. 2.在相同目录下启动mongo.ex ...

  9. python 数据类型 变量 注释

    基本数据类型: 数字 number :整数 int . 浮点数 float.复数 complex.布尔值 bool 列表 list  :  使用 方括号  []  表示,例如: [1,2,'abc'] ...

  10. JS怎么刷新当前页面

    JS怎么刷新当前页面 reload 方法,该方法强迫浏览器刷新当前页面.语法:location.reload([bForceGet]) 参数: bForceGet, 可选参数, 默认为 false,从 ...