第10章 函数的高级特性-【千锋教育】Python程序设计基础与实战(微课版)

2023-03-22
| 43页
| 143人阅读
| 3人下载
教辅

内容正文:

第10章函数的高级特性 >迭代器和生成器> 实战15:答题闯关挑战 匿名函数 >装饰器 >内置高阶函数 >实战16:验证用户登录信息 学习目标 LEARNING OBJECTIVES 了解迭代器和生成器的用法 掌握匿名函数的用法 理解高阶函数的概念 掌握常用的高阶函数 掌握装饰器的概念和使用 初心至善匠心育人 10.1 迭代器和生成器 迭代器规则 +创建迭代器 Contents创建生成器 生成器表达式 10.1迭代器和生成器 10.1.1迭代器规则 for循环可以对可迭代对象进行迭代,其中可迭代对像是指具有itrO方法的对像。而 迭代器对像不仅拥有iter0方法,还具有next0方法,当调用next(0方法时,迭代 器会返回它的下一个值。当迭代器没有值可以返回时,就会抛出Stoplteration.异常。 可以用迭代器对象理解fo循环的运行原理: >for循环调用in后对象的terO方法,将可迭代对像转换为迭代器对像 调用迭代器对像的next方法,将得到的返回值赋给i前面的变量,再执行循环体 中的代码: >循环往复,直到取完送代器中的值,自动埔捉Stoplteration.异常结束循环。 初心至善匠心育人 10.1迭代器和生成器 10.1.1迭代器规则 for循环遍历列表 对for循环过 程进行分解 1. ist01=[1,234] 2 iterator list01.iter() #将可迭代对象转化为迭代器对象 1.ist01=[1,23,4] 3 while True: 4. try: 2.for item in list01: 5. item=iterator..next0#不断获取迭代器对敏的下一个值 3. print(item,end="") 6. print(item,end =' #打印值 7. except Stoplteration: #当从迭代器对象中取不到值时,捕获到 Stoplteration异带,结束环 Break 列表可以存放多个数据,通过索 1234 1234 引也能获取到每个值,那为什么还要有 送代器呢?送代器规则的关键是什么呢 初心至善匠心育人 10.1迭代器和生成器 10.1.2创建迭代器 1.class Vector. 2. def init(self,start,end): 3. self.start start 4. self.endend 如果数据过多,将所有数据存 5. def iter(self): 运行结果如下: 入列表中,会占用大量内存。然而 6. return self #返回对象本身 3456789 迭送代器能韵够使用一个值时才去获取 7. def next (self): 8. if self.start <self.end: 一个值,不像列表一次性获取所 9. number self.start 有的值,节约内存,更简单优雅。 10. self.start +=1 11. retum number #返回迭代器对像下一个的值 12. else: 13. raise Stoplteration #当迭代器中的值取完后,抛出异常 14.v1 Vector(3,9) 15.for item in v1: 16. print(item,end =*" 初心至善匠心育人 10.1迭代器和生成器 10.1.3创建生成器 在Pythont中,函数中使用了yield语句即为生成器函数。当一个 生成器函数被调用时,它返回一个称为生成器的迭代器,该生成器控制 生成器函数的执行。生成器是特殊的迭代器,不过,生成器的语法 要比以上讲解的迭代器简洁。 初心至善匠心育人 10.1迭代器和生成器 10.1.3创建生成器 生成器获得列表 中所有的偶数 1.ist01=[2,3,19,34,12] 2.def generator(alist): #定义生成器函数 3. for item in alist: 4. if item %2==0: 5. yield item 6.g01=generator(list01) #调用生成器函数 7.for item in g01: #遍历生成器 8. print(item,end="") 23412 初心至善匠心育人 10.1迭代器和生成器 10.1.3创建生成器 生成器产生连续 1.class Vector: 数字 2 def init (self,start,end): 3. self.start start 4 self.endend 5. def get_num(self): 6. while True: 7. if self.start self.end: 8. break 3456789 9. number self.start 10. self.

资源预览图

第10章  函数的高级特性-【千锋教育】Python程序设计基础与实战(微课版)
1
第10章  函数的高级特性-【千锋教育】Python程序设计基础与实战(微课版)
2
第10章  函数的高级特性-【千锋教育】Python程序设计基础与实战(微课版)
3
第10章  函数的高级特性-【千锋教育】Python程序设计基础与实战(微课版)
4
第10章  函数的高级特性-【千锋教育】Python程序设计基础与实战(微课版)
5
第10章  函数的高级特性-【千锋教育】Python程序设计基础与实战(微课版)
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。