python中迭代器、生成器代码实现
2020-03-06 18:59
309 查看
迭代器
class Human(object): def __init__(self): self.names = list() self.current = 0 def add(self, name): self.names.append(name) def __iter__(self): return self def __next__(self): if self.current < len(self.names): ret = self.names[self.current] self.current += 1 return ret else: raise StopIteration human = Human() human.add("张三") human.add("李四") human.add("王五") for name in human: print(name)
生成器
def feibonaqi(num): a, b = 0, 1 current_num = 0 while current_num < num: yield a # 函数中有yield,就变成了生成器对象 a, b = b, a+b current_num += 1 obj = feibonaqi(10) # for o in obj: # print(o) # 对象调用魔法方法__next__便取出一值 print(obj.__next__()) print(obj.__next__()) print(obj.__next__()) print(obj.__next__()) print(obj.__next__()) # ret = next(obj) # print(ret)
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- ·python·用生成器和迭代器实现自己的xrange
- python·用生成器和迭代器实现自己的xrange
- ·python·用生成器和迭代器实现自己的xrange
- 【Python】迭代器、生成器、yield单线程异步并发实现详解
- Python进阶--生成器和迭代器以及实现方法
- 少说话多写代码之Python学习052——类的成员(实现生成器)
- Python学习笔记8:yield生成器,迭代器的特殊实现
- 基于python2.7实现图形密码生成器的实例代码
- ·python·用生成器和迭代器实现自己的xrange
- 【Python】迭代器、生成器、yield单线程异步并发实现详解
- python3.5进阶(三)-------------实现多任务之协程(生成器,迭代器)
- ·python·用生成器和迭代器实现自己的xrange
- python cookielib 登录人人网的实现代码
- 使用VC内嵌Python实现的一个代码检测工具
- Python天气预报采集器实现代码(网页爬虫)
- 使用python实现baidu hi自动登录的代码
- Python的迭代器和生成器
- 将C++代码全部写到头文件:)python脚本帮助自动生成相应的实现文件初始框架
- python代码实现:如何反序的迭代一个序列?
- python的迭代器和生成器