熬最深的夜喝最劣的酒————浅谈生成器(generator)
2024-09-06 20:42:01
测试(test)
def s():
print("stup1")
n = "第一步"
yield n # 类似于return 但是又不同于 赖克宝,剁一下,跳一下
print("stup2")
yield 2
print("stup3")
yield 3
print("stup4")
yield 4
# raise StopIteration # 抛出异常 f = s()
print(f.__next__())
print(f.__next__())
print(f.__next__())
print(f.__next__())
# print(f.__next__())
for x in f: # f为迭代对象,类似于迭代器 也可用for
print(x)
# f.__iter__() is g
# 生成器对象,实现了可迭代接口,也实现了迭代器接口
----------------------------------------------------------------------------------------------------------- 生成器实现找素数 # 素数: 只能被一和本身整除的数
class PrimeNumber(object):
def __init__(self, start, end):
self.start = start
self.end = end def isprimenumber(self, k):
if k < 2:
return False
for x in range(2, k): # k取模依次 2-k 为0返回 Falae 否则为true
if k % x == 0:
print(-k) # -表示非素数
return False
return True def __iter__(self): # 生成器类入口
for k in range(self.start, self.end):
if self.isprimenumber(k):
yield k for t in PrimeNumber(1, 100):
print(t)
最新文章
- 让Xcode 8.x能够调试iOS 7.x真机
- asp.net下简单的Epplus导出excel
- Swift---TextView用法
- animation 的属性一共有 6 个值,详细介绍在此
- 数数字 (Digit Counting,ACM/ICPC Danang 2007,UVa 1225)
- Winfroms---看看吧客官~
- js和jquery中有关透明度操作的问题
- usaco6.1-Cow XOR:trie树
- Google用户登录界面 Android实现
- Quartus FFT IP核简介
- 吾八哥学Selenium(四):操作下拉框select标签的方法
- C语言实现迷宫小游戏
- 子网站不继承父的WEBCONFIG
- js、jquery、jsp的区别
- [转帖]nginx upstream模块--负载均衡
- Cocos Creator 获得设备分辨率
- 转换es6
- noip第21课作业
- python数据库操作 - MySQL入门【转】
- ES6必知必会 (五)—— Promise 对象