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

招聘网站开发时间网站建设方案产业

招聘网站开发时间,网站建设方案产业,食品行业做网站,手机网站模版更换技巧下面是找到的一个比较好的科学解释: Python中可迭代对象(Iterable)并不是指某种具体的数据类型,它是指存储了元素的一个容器对象,且容器中的元素可以通过__iter__( )方法或__getitem__( )方法访问。 1.__iter__方法的作用是让对象可以用for…

下面是找到的一个比较好的科学解释:

Python中可迭代对象(Iterable)并不是指某种具体的数据类型,它是指存储了元素的一个容器对象,且容器中的元素可以通过__iter__( )方法或__getitem__( )方法访问。

1.__iter__方法的作用是让对象可以用for … in obj循环遍历,__getitem__( )方法是让对象可以通过实例名[index]的方式访问实例中的元素。这两个方法的目的是Python实现一个通用的外部可以访问可迭代对象内部数据的接口。

  1. 一个可迭代对象是不能独立进行迭代的,Python中,迭代是通过for … in obj来完成的。凡是可迭代对象都可以直接用for… in obj循环访问,这个语句其实做了两件事:第一件事是调用__iter__()获得一个可迭代器,第二件事是循环调用__next__()

  2. 常见的可迭代对象包括:
    a) 集合数据类型,如list、tuple、dict、set、str等;
    b) 生成器(generator),包括生成器和带yield的生成器函数(generator function)。

  3. 如何判断一个对象是可迭代对象呢?具体判断方法如下两种:

  • 利用numpy的iterable方法
from numpy import iterable
print(iterable(实例名))
  • 利用collections模块的Iterable类
from collections import Iterable
isinstance(实例名, Iterable)

一个典型的实例

随便定义一个对象,不定义__iter__方法:

from numpy import iterableclass MyList:def __init__(self, len: int):self.list = [i for i in range(len)]self.length = lendef __repr__(self) -> str:return f"MyList({self.length}):{self.list}"x = MyList(10)
for i in x:print(i)

运行结果:
在这里插入图片描述
显示MyList实例是不可迭代的

定义__iter__方法后

下面的例子简单实现一个range(n)

from numpy import iterableclass MyList:def __init__(self, len: int):self.cursor = -1self.length = lendef __iter__(self):return selfdef __next__(self):if self.cursor+1 < self.length:self.cursor += 1return self.cursorelse:exit(1)def __repr__(self) -> str:return f"MyList({self.length})"x = MyList(10)
print(iterable(x))
for i in x:print(i)

输出为:

True
0
1
2
3
4
5
6
7
8
9

使用next()一步一步迭代可以看的更清楚:

from numpy import iterable
#学习中遇到问题没人解答?小编创建了一个Python学习交流群:711312441class MyList:def __init__(self, len: int):self.cursor = -1self.length = lendef __iter__(self):return selfdef __next__(self):if self.cursor+1 < self.length:self.cursor += 1return self.cursorelse:exit(1)def __repr__(self) -> str:return f"MyList({self.length})"x = MyList(10)
print(iter(x))
print(next(x))
print(next(x))
print(next(x))
print(next(x))
for i in x:print(i)

输出结果为:

MyList(10)
0
1
2
3
4
5
6
7
8
9
http://www.yayakq.cn/news/404964/

相关文章:

  • 东莞网站建设的方案博采网络
  • 外贸英语 网站网站建设中 倒计时
  • 手机网页设计制作网站wordpress 兔
  • 常州网站价格公司网站建设一条龙
  • 东莞做网站首选企业铭什么网站做简历
  • 手机怎么打开自己做的网站wordpress 云服务器
  • 网站优化目标网站图片3d显示效果
  • 护肤品网站建设环境分析深圳公司排行榜
  • 个人公司网站模板网站开发江西
  • 制作商城网站模板创意极简logo
  • 珠海市企业网站制作品牌新乡门户网站建设方案
  • 建立个人网站的详细步骤阿里云clouder网站建设
  • 怎样写网站设计意义5188关键词平台
  • 外贸网站模板外贸网站建设互联网搜索引擎有哪些
  • 品牌建设再发力广州seo公司推荐
  • 电商网页制作教程网站怎么关键字优化
  • 网站运营编辑做什么的砀山推广公司
  • 在百度做网站推广怎么做学做网站要学哪些
  • 音乐网站开发编程语言协会网站建设哪里实惠
  • 网站做竞价经常会被攻击吗wordpress为什么放弃
  • 做一个网站需要怎么做绵阳建设局网站
  • 企业如何建设免费网站百度seo公司哪家最好
  • 如何免费自己做网站经销商网
  • 青岛网站排名外包淘宝上做网站 源代码怎么给你
  • 公司网站开发费摊销网络设计是干什么工作的
  • 汽车类网站搭建企业内部网站建设
  • 辽宁建设工程信息网清单怎么怎么优化网站加载速度
  • 建设带数据搜索的网站单位网站等级保护必须做吗
  • 哈尔滨网站设计公司地址精品一卡二卡 卡四卡分类
  • 做问卷调查赚钱的网站临清设计网站