什么是生產器
利用迭代器,我們可以每次迭代獲取數據(通過next()方法)時按照特定的規律進行生成。但是我們在實現一個迭代器時,關于當前迭代到的狀態需要我們自己記錄,進而才能根據當前狀態生產下一個數據。為了達到記錄當前狀態,并配合next()函數進行迭代使用,我們可以采用更簡便的語法。即生成器(gennerator)。 生成器是一類特殊的迭代器
創建生成器的方法 1:將列表生成器 [ ] 改為()
代碼:
nums = [x*2 for x in range(10)]
print(nums)
nums = (x * 2 for x in range(10))
print(nums)
創建生成器的方法 2 :是用yield創建生成器
?
def creat_fobo(all_num):
current_num = 0
a,b = 0,1
while current_num <= all_num:
# 使用yield關鍵字
ret = yield a
print(">>>ret>>>",ret)
a,b = b ,a+b
current_num += 1
使用gevent完成多任務的實現 (攜程)
def show_spawn(current_name):
for i in range(10):
print(current_name, i)
time.sleep(random.random())
gevent.joinall([
gevent.spawn(show_spawn, "jack"),
gevent.spawn(show_spawn, "tom")
])
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
