Python函数的迭代器与生成器的示例代码


Posted in Python onJune 18, 2020

函数的迭代器

函数的强大功能叫做迭代器,Python里面最具威力的功能之一。迭代器我们听起来会感觉非常陌生,在list、tuple都有用到它,我们是使用for和in取列表中的每一个元素,对每个元素依次处理,这种方法就叫做迭代,实现这种方法的函数叫做迭代器。迭代器中有两个基本的函数,这个函数叫做方法,这个是面向对象编程称呼的一个方法,这两个方法叫做iter()和next()。

1.什么是迭代?迭代是一个重复的过程,并且每次重复都是基于上一次的结果而来

2.要想了解迭代器到底是什么?必须先了解一个概念,即什么是可迭代的对象? 可迭代的对象:在python中,但凡内置有'‘iter''方法的对象,都是可迭代的对象

3.迭代器:迭代取值工具,可迭代的对象执行iter方法得到的返回值就是迭代器对象

举例演示-迭代器定义一个列表,处理成处理器

list1=[1,2,3,4] 
it=iter(list1)#赋值变量 
print(next(it)) 
print(next(it)) 
print(next(it)) 
print(next(it))

Python函数的迭代器与生成器的示例代码

举例演示-输出异常

list1=[1,2,3,4] 
it=iter(list1)#赋值变量 
print(next(it)) 
print(next(it)) 
print(next(it)) 
print(next(it)) 
print(next(it))#except,超出列表范围会报错误信息StopIteration

Python函数的迭代器与生成器的示例代码

总结

每调用一次next()会输出iter()里面的下一个元素

一直到输出完成

超出长度就会出现异常

函数的生成器

我们感受到迭代器的功能的强大,如何自己制作一个迭代器呢?

举例演示-简单迭代器range()函数

for i in range(10,20,2):#第一个参数是开始参数;第二个参数是结束参数;第三个参数是步长

 print(i)

如果步长为小数0.5是否可以,则会返回类型错误的信息

Range()函数必须是整数哦

Python函数的迭代器与生成器的示例代码

举例演示-如何优化上述问题,支持小数

引用yield,带yield的函数就叫做生成器

def frange(start,stop,step):
  x=start#定义一个变量  
  while x<stop: 
   yield x #没有yield,while会把所有的值一次性进行返回;yield运行到这个位置,会暂停记录当前的位置,当你再次去调用一个next的时候,会根据当前的位置返回一个值给你   
   x+=step 
for i in frange(10,20,0.5):
  print(i)

Python函数的迭代器与生成器的示例代码

到此这篇关于Python函数的迭代器与生成器的文章就介绍到这了,更多相关Python函数的迭代器与生成器内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python实现的检测web服务器健康状况的小程序
Sep 17 Python
Python编程生成随机用户名及密码的方法示例
May 05 Python
python机器学习之决策树分类详解
Dec 20 Python
使用python进行广告点击率的预测的实现
Jul 04 Python
Python 在OpenCV里实现仿射变换—坐标变换效果
Aug 30 Python
python数据处理之如何选取csv文件中某几行的数据
Sep 02 Python
python使用Word2Vec进行情感分析解析
Jul 31 Python
Django如何在不停机的情况下创建索引
Aug 02 Python
Python趣味入门教程之循环语句while
Aug 26 Python
python爬虫如何解决图片验证码
Feb 14 Python
Jupyter notebook 更改文件打开的默认路径操作
May 21 Python
Python 数据结构之十大经典排序算法一文通关
Oct 16 Python
使用python实现名片管理系统
Jun 18 #Python
keras 回调函数Callbacks 断点ModelCheckpoint教程
Jun 18 #Python
浅谈keras.callbacks设置模型保存策略
Jun 18 #Python
用python实现名片管理系统
Jun 18 #Python
Python 为什么推荐蛇形命名法原因浅析
Jun 18 #Python
python退出循环的方法
Jun 18 #Python
keras实现多GPU或指定GPU的使用介绍
Jun 17 #Python
You might like
php数组声明、遍历、数组全局变量使用小结
2013/06/05 PHP
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
2014/02/18 PHP
php将字符串转化成date存入数据库的两种方式
2014/04/28 PHP
分享php多功能图片处理类
2016/05/15 PHP
Yii编程开发常见调用技巧集锦
2016/07/15 PHP
学习ExtJS TextField常用方法
2009/10/07 Javascript
jQuery插件jQuery-JSONP开发ajax调用使用注意事项
2013/11/22 Javascript
使用原生js封装webapp滑动效果(惯性滑动、滑动回弹)
2014/05/06 Javascript
JavaScript模块随意拖动示例代码
2014/05/27 Javascript
JS实现简单的顶部定时关闭层效果
2014/06/15 Javascript
JS实现在状态栏显示打字效果完整实例
2015/11/02 Javascript
JavaScript蒙板(model)功能的简单实现代码
2016/08/04 Javascript
Bootstrap中点击按钮后变灰并显示加载中实例代码
2016/09/23 Javascript
jquery仿京东侧边栏导航效果
2017/03/02 Javascript
jquery中$.fn和图片滚动效果实现的必备知识总结
2017/04/21 jQuery
Vue input控件通过value绑定动态属性及修饰符的方法
2017/05/03 Javascript
仿iPhone通讯录制作小程序自定义选择组件的实现
2019/05/23 Javascript
Vue3.0 响应式系统源码逐行分析讲解
2019/10/14 Javascript
浅析Python编写函数装饰器
2016/03/18 Python
基于python list对象中嵌套元组使用sort时的排序方法
2018/04/18 Python
更换Django默认的模板引擎为jinja2的实现方法
2018/05/28 Python
深入解析python中的实例方法、类方法和静态方法
2019/03/11 Python
Django如何简单快速实现PUT、DELETE方法
2019/07/24 Python
python tkinter图形界面代码统计工具(更新)
2019/09/18 Python
英国123鲜花网站:123 Flowers
2019/07/07 全球购物
Monki官网:斯堪的纳维亚的独立时尚品牌
2020/11/09 全球购物
庆中秋节主题活动方案
2014/02/03 职场文书
批评与自我批评材料
2014/02/15 职场文书
医院竞聘演讲稿
2014/05/16 职场文书
土建工程师岗位职责
2014/06/10 职场文书
企业法人代表授权委托书
2014/10/02 职场文书
公司租房协议书范本
2014/10/08 职场文书
个人纪律作风整改措施思想汇报
2014/10/12 职场文书
学年个人总结范文
2015/03/05 职场文书
社区义诊通知
2015/04/24 职场文书
升学宴家长答谢词
2015/09/29 职场文书