当前位置: 首页 > wzjs >正文

国外网页设计分享网站搜狗seo快速排名公司

国外网页设计分享网站,搜狗seo快速排名公司,上海网站seo牛巨微,如何把网站做的好看一、迭代器 1、迭代协议 一种是包含iter方法的,另一种是包含getitem方法的(比如str对象就没有iter方法,但是一样支持迭代),只要对象中包含了这两种方法的任意一种,那么这个对象就可以进行迭代操作&#x…

一、迭代器

1、迭代协议

一种是包含iter方法的,另一种是包含getitem方法的(比如str对象就没有iter方法,但是一样支持迭代),只要对象中包含了这两种方法的任意一种,那么这个对象就可以进行迭代操作,即实现了迭代协议

2、迭代器协议

①实现了迭代器协议的对象(实现方式:对象内部定义了一个iter()方法)

②对象实现了__next__方法

③__next__方法返回了某个数值(一般情况下需要的是返回这个对象特定的数字,且按照一定的顺序进行依次返回)

④__next__方法需要在值取值完的时候,抛出StopIteration的错误信息

3、可迭代对象

只要内部实现了迭代协议的,就是一个可迭代对象,可迭代对象可以进行相关的迭代操作,如:for循环、map函数等,所有迭代器都是可迭代对象

4、代码示例

# 可迭代对象:可以for循环遍历的都是可迭代对象,内部只实现了__iter__方法
li = [1,2,3,4]
list()li1 = iter(li) # iter() __iter__
#迭代器 内部实现了__iter__之外,还实现了__next__
print(next(li1))
print(next(li1))

二、生成器

1、生成器概念

生成器并不会一次性把所有数据都生成出来,生成器中保存的只是一个生成数据的相关算法,并不会把将数据都生成,只是在需要数据的时候用生成器去生成一条数据即可,节约了大量的内存空间

2、生成器表达式举例

# () 生成器表达式
tu = (i for i in range(1000))  # 生成器对象
a = next(tu)  # next函数用于取值
print(a)  # 第一个元素
print(next(tu))  # 第二个元素

3、通过yield自定义生成器

# 通过yield自定义生成器
def gen_fun():yield 100print('Hello Wanzi')yield 1000yield 2000
res = gen_fun() # 返回生成器对象
print(next(res))
print(next(res))
print(next(res))

三、生成器和迭代器的区别

生成器属于迭代器的一种,生成器<迭代器<可迭代对象,且比迭代器多了三种方法

1、send():发送数据
2、close():关闭生成器

3、throw gen.throw(Exception,"Method throw called!")

http://www.dtcms.com/wzjs/498027.html

相关文章:

  • 中科商务网做网站垃圾windows优化大师免费版
  • 太原有网站工程公司吗免费发布推广信息的软件
  • 如何学做网站优化百度助手手机下载
  • 男做暧免费视频网站响应式网站模板的特点
  • 巩义做网站汉狮网络同城推广平台有哪些
  • 网站建设外包给别人要注意什么百度获客
  • 松岗做网站哪家便宜app推广软文范文
  • 本地手机网站建设进行seo网站建设
  • 广州商城型网站建设百度站内搜索提升关键词排名
  • 幼儿园教育类网站模板下载服务营销
  • b2b2c商城网站建设百度网页版
  • 律师事务所 网站建设seo网站诊断
  • 五道口网站建设公司软件开发一般需要多少钱
  • 遵义水网站建设看今天的新闻
  • 网站开发w亿玛酷1专注网络竞价
  • 一个网站不兼容ie怎么做广州疫情最新动态
  • 动态网站开发表格的代码品牌网站建设哪家好
  • 2级a做爰片免费网站我想做网络推广找谁
  • 企业网站建设技巧软文营销策划
  • 摄影网站设计图片cpu游戏优化加速软件
  • 大家做网站都会去哪找素材大数据营销经典案例
  • 做网站的公司图企业网络推广的方法有哪些
  • 青海企业网站建设开发谷歌浏览器在线打开
  • 做物流的在什么网站找客户呢营销策划公司的经营范围
  • 动态网站开发实训心得seo优化报价公司
  • 做音乐网站要什么源码百度seo服务
  • 企业网站seo外包百度百科官网登录
  • 合作社网站模板海外社交媒体营销
  • 网站建设项目建议书怎么给公司做网站推广
  • 网站页面设计好了后台如何添加兰州网站seo诊断