python生成器详解
来源:互联网 发布:淘宝直通车打击同行 编辑:程序博客网 时间:2024/05/22 12:53
#!/usr/bin/python# -*- coding utf8 -*-#生成器函数 只要函数体包含yield关键字 name该函数就是生成器函数# def foo():# print('first')# yield 1# print('second')# yield 2# print('third')# yield 3# g=foo()# print(g)#print(next(g))#print(next(g))#yield 函数变成迭代器 不再执行 next触发执行'''yield的功能: 1.相当于为函数封装好__iter__和__next__ 2.return只能返回一次值,函数就终止了, 而yield能返回多次值,每次返回都会将函数暂停,下一次next会从 上一次暂停的位置继续执行'''# def counter(n):# print('start')# i=0# while i<n:# print(i)# yield i# i +=1# print('end')# g=counter(5)# print(next(g))# print(next(g))# print(next(g))# print(next(g))# print(next(g))# print(next(g))# print(next(g))##tail -f 示例import timedef tail(filepath): with open(filepath,encoding='utf-8') as f: f.seek(0,2) while True: line=f.readline().strip() if line: yield line else: time.sleep(0.2)# t=tail('a.txt')# print(next(t))#for line in t:# print(line)def grep(pattern,lines): for i in lines: if pattern in i: yield ig = grep('python',tail('a.txt'))for i in g: print(i)
阅读全文
0 0
- python生成器详解
- Python 生成器详解 generator
- python生成器详解
- Python 生成器原理详解
- Python 生成器原理详解
- python 迭代器与生成器 详解
- Python生成器(Generator)详解
- Python生成器(Generator)详解
- python 迭代器与生成器 详解
- Python生成器(Generator)详解
- python中的迭代器与生成器详解
- 详解Python中yield生成器的用法
- 详解Python中yield生成器的用法
- 只要3分钟,Python生成器原理详解
- Python 生成器
- Python生成器
- python生成器
- python 生成器
- 自定义-MVC
- 浅谈程序开发中的编程思想
- 【机器学习】人工神经网络(ANN)浅讲
- HTML代码的缩写
- DNS协议简述
- python生成器详解
- poj 2236 Wireless Network
- herbinate访问数据库出错
- trie树
- java打印杨辉三角
- 算法导论程序33--动态顺序统计
- 远程linux服务器安装mysql
- K尾相等数问题
- python内置函数大全