当前位置: 首页 > news >正文

网站邮箱怎么做的北京seo百度推广

网站邮箱怎么做的,北京seo百度推广,wordpress escurl,公司网站建设与维护生成器 这个老师的课 这个老师的网页 获取系列有规律但是个数不确定的数据 使用迭代器的时候可以使用一个不会产生异常的迭代器, 实际记录的是生成的数据的方式, 不是实际的数据 使用迭代器的时候这一个规则的改变不方便, 需要加一个专门的方法 还有就是如果需要大量的数据,…

生成器

这个老师的课
这个老师的网页

获取系列有规律但是个数不确定的数据

使用迭代器的时候可以使用一个不会产生异常的迭代器, 实际记录的是生成的数据的方式, 不是实际的数据

使用迭代器的时候这一个规则的改变不方便, 需要加一个专门的方法

还有就是如果需要大量的数据, 而实际使用的时候只用其中一部分, 会浪费大量的空间

生成器是一个记录生成数据的方式, 而不是实际的数据的方式, 实际是一个特殊的迭代器

实际定义

方法一

只需要把一个列表的生成[]改为()

nums = [x for x in range(5)]
nums2 = (x for x in range(5))print(type(nums))
print(type(nums2))print(nums)
print(nums2)
PS E:\JHY\python\2024-4-22> python -u "e:\JHY\python\2024-4-22\main.py"
<class 'list'>
<class 'generator'>
[0, 1, 2, 3, 4]
<generator object <genexpr> at 0x000002431C7B2110>

方法二

有时候这一个推导比较复杂, 不能使用for循环实现

这时候可以使用一个函数生成一个生成器

这一个函数返回的时候使用的不是return, 而是使用yeild, 下一次调用的时候会从yeild返回的位置

def fib_generator():num1 = 1num2 = 1while True:temp_num = num1num1, num2 = num2, num1 + num2yield temp_num

这个代码块的返回值是一个生成器, 这一个生成器第一次执行会从def开始直到yield, 调用next的时候会返回yield后面的数值

fib = fib_generator()print(fib)
print(next(fib))
print(next(fib))
print(next(fib))
print(next(fib))
print(next(fib))
<generator object fib_generator at 0x000002342F7D2110>
1
1
2
3
5

这一个迭代器执行结束的时候会产生一个异常StopIteration, 如果是使用一个return, 返回的值会成为这一个异常的参数, 可以使用try语句进行捕获

def fib_generator():num1 = 1num2 = 2temp_num = num1num1, num2 = num2, num1 + num2yield temp_numtemp_num = num1num1, num2 = num2, num1 + num2yield temp_numtemp_num = num1num1, num2 = num2, num1 + num2yield temp_numreturn "结束了!!!"fib = fib_generator()print(next(fib))
print(next(fib))
print(next(fib))
try:print(next(fib))
except StopIteration as ret:print(ret.value)
PS E:\JHY\python\2024-4-22> python -u "e:\JHY\python\2024-4-22\main.py"
1
2
3
结束了!!!

send唤醒

除了使用next还可以使用send发送一个数据给迭代器

def fib_generator():num1 = 1num2 = 2temp_num = num1num1, num2 = num2, num1 + num2num = yield temp_numprint("get ", num)temp_num = num1num1, num2 = num2, num1 + num2num = yield temp_numprint("get ", num)temp_num = num1num1, num2 = num2, num1 + num2num = yield temp_numprint("get ", num)return "结束了!!!"fib = fib_generator()print(fib.send(None))
print(fib.send(2))
print(fib.send(3))
try:print(fib.send(4))
except StopIteration as ret:print(ret.value)
PS E:\JHY\python\2024-4-22> python -u "e:\JHY\python\2024-4-22\main.py"
1
get  2
2
get  3
3
get  4
结束了!!!
http://www.zhongyajixie.com/news/54014.html

相关文章:

  • 北京市著名的网站制作公司手机百度登录入口
  • appcan 手机网站开发免费发布广告信息网
  • 政府网站互动回应板块建设营销技巧培训ppt
  • 上海大型网站制作公磁力猫
  • 杭州网站改版公司网站代运营多少钱一个月
  • 电子商务网站建设网上商城云南网络推广
  • 仿站源码优秀的软文广告欣赏
  • 三水容桂网站制作怎么免费自己做推广
  • 山东省建设管理信息网站怎么查看域名是一级还是二级域名
  • 办网站需流程市场运营和市场营销的区别
  • 安平做网站的公司北京seo包年
  • 苏州cms建站网络营销的常用工具
  • 个人怎样建立网站上海百度推广电话
  • wordpress 个人写作无锡seo公司找哪家好
  • 网站免费优化网站流量统计
  • 东莞网站建设设计北京自动网络营销推广
  • 怎样自己做企业的网站关键词完整版
  • 简述网站制作流程怎么在百度上推广自己
  • 鹤山做网站百度sem推广
  • 江苏省网站建设哪家好昆明seo关键字推广
  • .net做网站开发百度收录需要多久
  • 直销可以做网站有效果吗牛推网络
  • 程序员做的网站别人用于诈骗营销方式方案案例
  • 外贸网站如何推广优化最新新闻实时新闻
  • 当今做网站的流行线上推广外包公司
  • 公司网站建站要多少钱什么是seo搜索优化
  • 论坛网站开发成本客户营销
  • 微网站 百度地图百度seo优化服务项目
  • 网站模板 哪家好国内seo公司排名
  • 网站建设 需求模板厦门网站推广费用