python 将对象设置为可迭代的两种实现方法

 更新时间:2019年01月21日 10:31:31   作者:ZhanYunQI  
今天小编就为大家分享一篇python 将对象设置为可迭代的两种实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

1、实现 __getitem__(self)

class Library(object):
  def __init__(self):
    self.value=['a','b','c','d','e']


  def __getitem__(self, i):
    if i>=len(self.value):
      raise IndexError("out of index")
    value=self.value[i]
    return value

调用的时候,系统默认从0 开始传入,并使得i=i+1

2、实现 __iter__(self),next(self)

class Library2(object):
  def __init__(self):
    self.value=['a','b','c','d','e']
    self.i=-1
  def __iter__(self):
    return self
  def next(self):
    self.i += 1
    if self.i>=len(self.value):
      raise StopIteration
    return self.value[self.i]
    
 test=Library2()
 print test.next()
 print test.next()

在这里可以像生成器一样使用

以上这篇python 将对象设置为可迭代的两种实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python导包模块报错的问题解决

    Python导包模块报错的问题解决

    这篇文章主要介绍了Python导包模块报错的问题解决,文章围绕主题相关内容详细介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-03-03
  • 什么是python的列表推导式

    什么是python的列表推导式

    在本篇文章里小编给大家分享了关于python列表推导式的含义及用法,需要的朋友们可以参考下。
    2020-05-05
  • Python时间管理黑科技之datetime函数详解

    Python时间管理黑科技之datetime函数详解

    在Python中,datetime模块是处理日期和时间的标准库,它提供了一系列功能强大的函数和类,用于处理日期、时间、时间间隔等,本文将深入探讨datetime模块的使用方法,感兴趣的可以了解下
    2023-08-08
  • 基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)

    基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)

    这篇文章主要介绍了基于python实现自动化办公学习笔记,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • python 远程执行命令的详细代码

    python 远程执行命令的详细代码

    有时会需要在远程的机器上执行一个命令,并获得其返回结果。对于这种情况,python 可以很容易的实现。今天通过实例代码介绍下python 远程执行命令的相关知识,感兴趣的朋友一起看看吧
    2022-02-02
  • matplotlib绘制动画代码示例

    matplotlib绘制动画代码示例

    这篇文章主要介绍了matplotlib绘制动画代码示例,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • 一文秒懂python中的 \r 与 end=‘’ 巧妙用法

    一文秒懂python中的 \r 与 end=‘’ 巧妙用法

    这篇文章主要介绍了python中的 \r 与 end=‘’ 巧妙用法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • Python的Django REST框架中的序列化及请求和返回

    Python的Django REST框架中的序列化及请求和返回

    这篇文章主要介绍了Python的Django REST框架中的序列化及请求和返回,使用Django REST来实现RESTful web service非常方便和强大,需要的朋友可以参考下
    2016-04-04
  • python 多线程实现多任务的方法示例

    python 多线程实现多任务的方法示例

    本文主要介绍了python 多线程实现多任务的方法示例,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2021-07-07
  • Python random模块的使用示例

    Python random模块的使用示例

    这篇文章主要介绍了Python random模块的使用示例,帮助大家更好的理解和使用python生成随机数,感兴趣的朋友可以了解下
    2020-10-10

最新评论