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

全国卫生计生机构建设管理系统网站wordpress 分页导航无效

全国卫生计生机构建设管理系统网站,wordpress 分页导航无效,个人网站模板html下载,福建福州最新情况生成器 这个老师的课 这个老师的网页 获取系列有规律但是个数不确定的数据 使用迭代器的时候可以使用一个不会产生异常的迭代器, 实际记录的是生成的数据的方式, 不是实际的数据 使用迭代器的时候这一个规则的改变不方便, 需要加一个专门的方法 还有就是如果需要大量的数据,…

生成器

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

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

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

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

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

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

实际定义

方法一

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

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.yayakq.cn/news/981035/

相关文章:

  • 做一个公司网站需要多少钱360浏览器最新版本下载安装
  • 电子商务网站开发的总结参考文献 教学网站建设
  • 开源网站建设工具怎样做校园网站推广
  • 北京网站建设方案书常熟住房和城乡建设局网站
  • 做公装的什么网站好浏览器主页网址大全
  • 河南省级建设主管部门网站tplink域名申请
  • 个人建站免费服务器电子商务网站建设成都
  • 经典网站源码地名网站建设费用
  • 遂昌建设局网站西安网站制作公司排名
  • 网站续费服务商海口网站seo
  • 网站建设及推广方案社群营销的具体方法
  • 外贸建站网站公司百度包年推广网站建设
  • 网站建设合同范文市场调研公司是做什么业务的
  • 接网站开发在线crm视频在线crm免
  • 做网站用什么语言比较简单wordpress教程dara
  • 高特效网站做淘宝还是做网站容易
  • 织梦网站广告太仓市住房和城乡建设局规网站
  • 成都网站设计是什么php网站服务器
  • wordpress主题摘要字数首页优化公司
  • 绍兴做网站比较专业的公司wordpress能不能做管理系统
  • 为什么做网站备案的人态度差网站在政务新媒体建设方案
  • 如何用ps设计网站首页体育器材网站建设方案
  • 建设外贸网站哪家好如何给wordpress添加一张网站背景
  • 烟台58同城网站建设seo网站排名优化
  • 对于做网站有什么要求之路网站建设
  • 怎么优化网站源代码市场营销产品推广策划方案
  • 五八同城找工作招聘信息seo有哪些优缺点?
  • 制作平台网站方案网站图片设置链接
  • 网站怎么做英文版的网页制作模板报价模板
  • 网站界面设计修改要多少钱左中右三栏布局网站建设