当前位置: 首页 > 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/559038/

相关文章:

  • 无线网站应建设在什么地方网站开发项目经理岗位职责
  • 网页型网站wordpress 评论模版
  • 网站说服力做设计比较好的网站
  • 对比色的网站工业设计网站有那些
  • 网站素材免费下载网站建设图片上传
  • 贵州企业网站广东省自然资源厅厅长陈光荣简历
  • 做网站应该注意网页电子书在线阅读器wordpress
  • 甘肃网站建设哪家便宜网络课程教学平台有哪些
  • 万城建设网站在线开发
  • 如何创新网站建设模式品牌网站设计提案
  • 网站运营知识企业做网站的凭证怎么做
  • 亚马逊alexa湖南网站seo营销
  • 做视频网站把视频放在哪里企业邮箱登录入口官网网页版
  • 母婴网站开发静态网站建设规划
  • 建设厅公积金中心网站住房建设部官方网站
  • 网站建设菜单栏设计建筑公司招聘信息
  • 商丘网站优化公司如何评价一个网站
  • 网站后缀 .cgi可视化app开发工具
  • .net响应式网站模板那非西
  • 做优化需要发多少个网站深圳品牌型网站建设
  • 建网站数据库wordpress微信公众平台插件
  • 简单的个人网站制作流程青岛正一品网站建设
  • 营销型网站建设公司哪家建设营做包装盒有哪些网站
  • 个人网站找谁建设好wordpress 云
  • 临淄网站建设多少钱网站维护有哪些企业
  • 内蒙古兴安盟建设局网站学校网站建设费用
  • 网站百度不到灯光设计网站推荐
  • 做设计外包的网站青岛市网站建设
  • 刚刚做的网站怎么排名给网站做伪静态
  • 网站建设服务器是什么意思建站服务器多少钱