上节课复习:1. 函数的递归调用 在调用一个函数的过程中又直接或者间接地调用了函数本身称之为函数的递归 函数的递归调用有两个明确的阶段: 1. 回溯 一层一层地调用本身 注意: 1.每一次调用问题的规模都必须有所减少 2.必须有一个明确的结束条件或者进入递归的条件 2. 递推 往回一层一层的推算出结果 2. 二分法 3.三元表达式 res=条件成立情况下的返回值 if条件 else条件不成立情况下的返回值 4.列表生成式 [for i in range(10) if i > 3] 5.字典生成式…
"" 迭代器 什么是迭代器(iterator) 器指的某种工具, 迭代指的是更新换代的过程,例如应用程序的版本更新从1.0 变成 1.1 再1.2 迭代的目的是要根据上一个结果,产生下一个结果,这是一个重复的过程,但不是单纯的重复 迭代器就是,一种根据上一个结果得到下一个结果的工具,简单地说就是一种获取数据的工具 可迭代对象 指的就是可以使用迭代器取出数据的对象 如何判断一个对象是否可迭代,就看这个对象是否提供迭代器,通过对象调用__iter__()来获取迭代器 所有的容器类型(包括字…
  第一节装饰器复习和知识储备------------ 第一节装饰器复习和知识储备------------ def wrapper(*args,**kwargs): index(*args,**kwargs) # * 的作用是把位置参数打散传值到args=[a,b,c] # **的作用是把关键字参数打散传值到kwargs=[a,b,c] def index(a,b,c): print(a,b,c) wrapper('tt','pppp',c='vvv') 二:函数可以被当做数据传递. 函数可以当…
目录 函数进阶三 1. 匿名函数 1. 什么是匿名函数 2. 匿名函数的语法 3. 能和匿名函数联用的一些方法 2. python解释器内置方法 3. 异常处理 面向过程编程 函数进阶三 1. 匿名函数 1. 什么是匿名函数 匿名函数就是没有名字的函数,没法调用,他只能和某些方法联合起来使用 2. 匿名函数的语法 lambda 参数:返回值 #也可以通过赋值,让它变为有名函数 f = lambda x,y:x+y res = f(1,2) print(res) 3. 能和匿名函数联用的一些方法…
今天主要讲三大部分内容: 一.匿名函数二.函数递归与二分法三.面向过程编程 一.匿名函数: """ 1. 什么时匿名函数 def定义的是有名函数:特点是可以通过名字重复调用 def func(): #func=函数的内存地址 pass 匿名函数就是没有名字的函数:特点是只能再定义时使用一次 2. 为何要用匿名函数 强调: 匿名函数的定义就相当于只产生一个变量在值,而没有绑定任何名字, 所以会在定义完之后就被回收,无法重复使用,只能在定义时使用一次 应用:当某一个功能仅使用一次…
生成器 1.什么是生成器? 生成的工具. 生成器是一个 "自定义" 的迭代器, 本质上是一个迭代器. 2.如何实现生成器 但凡在函数内部定义了的yield, 调用函数时,函数体代码不会执行, 会返回一个结果,该结果就是一个生成器. yield: 每一次yield都会往生成器对象中添加一个值. - yield只能在函数内部定义 - yield可以保存函数的暂停状态 yield与return: 相同点: 返回值的个数都是无限制的. 不同点: return只能返回一次值,yield可以返回多…
Python之路,Day10 = Python基础10 生成器表达式: (i for i in range(10) if i > 5)os.walk(r'文件路径')返回一个迭代器, 第一次next:包含一个元组,元组中有三个元素,(路径,路径包含的所有文件夹,路径包含的所有文件) 第二次next:包含一个元组,元组中有三个元素,(上面第二个元素中的第一个路径,前面那个路径包含的所有文件夹,前面那个路径包含的所有文件) 1.x = yield #yield的表达式的应用,可以通过 yield 向…
"""匿名函数1 什么是匿名函数 def定义的是有名函数:特点是可以通过名字重复调用 def func(): #func=函数的内存地址 pass 匿名函数就是没有名字的函数:特点是只能再定义时使用一次 匿名 lambda x,y,z=1:x+y+z #与函数有相同的作用域,但是匿名意味着引用计数为0,使用一次就释放,除非让其有名字 func=lambda x,y,z=1:x+y+z func(1,2,3) #让其有名字就没有意义 2 为何要用匿名函数 强调: 匿名函数的定义…
1.什么是迭代器? 1.什么是迭代器 迭代的工具 什么是迭代? 迭代是一个重复的过程,每一次重复都是基于上一次结果而进行的 # 单纯的重复并不是迭代 while True: print('=====>') 2.为什么要用迭代器 找到一种可以不依赖索引的迭代取值方式 3.怎么用迭代器 可迭代对象? 在python中,但凡内置有__iter__方法对象,都是可迭代的对象 迭代器对象? 执行可迭代对象下__iter__方法得到的返回值就是一个迭代器对象 迭代器对象内置 __next__方法 __ite…
一. 迭代器 一 .迭代的概念 迭代器即迭代的工具,那什么是迭代呢? 迭代是一个重复的过程,每次重复即一次迭代,并且每次迭代的结果都是下一次迭代的初始值 while True: #只是单纯地重复,因而不是迭代 print('===>') l=[1,2,3] count=0 while count < len(l): #迭代 print(l[count]) count+=1 二. 为何要有迭代器?什么是可迭代对象?什么是迭代器对象? 1.为何要有迭代器? 对于序列类型:字符串.列表.元组,我们可…