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

做一手房用什么网站好武汉百度

做一手房用什么网站好,武汉百度,erp系统推荐,佛山模板建站定制网站一、问题起源: 想象一下,您掌握了一种魔法,在代码世界里,您可以轻松呼唤出一个整数。然而,事情并不总是看起来那样简单。在Python的奇妙王国中,我遇到了一个有趣的谜题: def tst():try:print(…

一、问题起源:

想象一下,您掌握了一种魔法,在代码世界里,您可以轻松呼唤出一个整数。然而,事情并不总是看起来那样简单。在Python的奇妙王国中,我遇到了一个有趣的谜题:

def tst():try:print('hello world')return 1except:yield 2
print(tst())
type(tst())

表面上,这段代码看起来像是在进行一个简单的问候和返回神秘数字1的仪式。但是,执行后,却揭晓了一个出乎意料的结果:

<generator object tst at 0x00000255F7E039F0>
generator

这个不是预期中的整数!而是一种被称为生成器的强大生物。那么,这是如何发生的呢?

二、魔法解密:为何它是生成器?

一段代码的命运,在Python领域里,是由它出生(定义)的时刻就注定了。就像预言中说的,函数的行为被它的定义方式固定下来,而非仅仅由它实际运行时的动作决定。
Python中的先知们(编译器),在瞥见函数的定义时,会使用他们的预言之眼(分析功能),寻找隐藏于代码深处的yield这个关键词符。发现了yield,哪怕它藏在一条不曾通往的冷僻小径上(逻辑上不可达的代码块),编译器也会宣告:这是一个生成器!
一个神秘的转变:即使您期待着回报(返回值),由于yield的存在,被选中的函数会呈现出生成器的身姿,并赋予它按需迭代、暂停和恢复的能力。
这是因为 Python 的函数定义的语义决定了在编译函数的时候解释器会如何处理它。
在 Python 中,函数如何行为取决于函数的定义而不仅仅是实际运行时的行为。当 Python 的编译器遇到一个函数定义时,它会检查函数体内的语句。如果它发现了 yield 关键字,不管这个 yield 是否在逻辑上可达(即不管它是否在 try 块还是 except 块,或者它是否在某个条件判断很少为真的代码分支中),它都会将这个函数标记为生成器函数。
这意味着一旦函数体中出现 yield,Python 就会创建生成器对象而不是直接执行函数体并返回单一的结果。

三、神秘仪式:为何print未被宣读?

这个生成器仪式的初次召唤(首次调用函数)并不意味着立即展现魔法(执行函数体内的代码),而是颁发一个神秘的标记(生成器对象)。这个标记,好像是一个尚未开启的宝箱,装载着即将展开的奇妙冒险。
迭代这个标记(调用生成器对象的next()方法),就像翻开宝箱的锁,魔法(函数体的代码)才会启动,直到遇到第一个yield魔法符(表达式)为止。
想要领略这段冒险,就请看以下的仪式演示:

def my_generator():print("开始执行")yield 1print("继续执行")yield 2print("执行结束")# 创建生成器对象
gen = my_generator()# 开始迭代生成器
next(gen)
# 输出:"开始执行"
# 在此时, 第一个 yield 1 表达式被执行, 并且函数的状态被暂停next(gen)
# 输出:"继续执行"
# 在此时, 第二个 yield 2 表达式被执行, 并且函数的状态再次被暂停next(gen)
# 输出:"执行结束"
# 函数执行到最后, 并且因为没有更多的 yield 表达式,迭代到此结束,
# 如果试图继续迭代,将抛出 StopIteration 异常。

这是因为生成器函数在首次被调用并返回生成器对象时,并不会执行任何函数体内部的代码,它只是返回一个生成器对象。这个生成器对象可以理解为一个有待执行的函数体。只有当你开始迭代这个生成器(即调用该生成器对象的 next() 方法)时,生成器函数的代码才会开始执行,直到遇到第一个 yield 表达

四、最终揭示

  • 即使很隐秘,yield魔法符号的存在,会让一个函数被赋予生成器的身份。
  • 魔法的初次召唤(生成器函数首次调用)仅仅是交付了一个未来冒险的符记(生成器对象),不触发任何神秘力量(不执行函数体内的代码)。
  • 开启这个冒险(使用next()方法迭代生成器对象)才真正激活了仪式中的法术(函数体内的代码),并把我们引领至第一个法术停顿点(yield)。
http://www.ds6.com.cn/news/26224.html

相关文章:

  • 富阳区建设局网站首页网络推广网站
  • 中建五局华东建设公司网站怎么把网站排名优化
  • 做网站的财务需求站长之家产品介绍
  • 网页打不开是怎么回事青岛网络优化厂家
  • 网站建设用到什么杭州优化公司哪家好
  • 淘宝客优惠卷网站模板常用的网络营销方式
  • 叫什么公子的网站做ppt的seo网站关键词优化
  • 平台网站建设设计新媒体运营主要做什么
  • 郴州网站制作公司新闻今日头条最新消息
  • 永州网站建设优化东莞网站优化公司哪家好
  • 最简单的网站系统网络营销有本科吗
  • 新竹自助建站系统北京网站优化专家
  • 电商网站建设 平台高端大气网站建设
  • 网站幻灯片效果代码网游推广员
  • 怎么做淘宝客网站哪里可以引流到精准客户呢
  • dw做网站鼠标经过图像长沙网站seo服务
  • 阿里巴巴官网首页网站长沙seo袁飞
  • 织梦软件展示网站seo优化便宜
  • 便捷的大连网站建设企业网站模板源码
  • 照片做3d网站软文营销的特点有哪些
  • 网站设计与优化推广公众号的9种方法
  • 工作室网站建设网页设计素材网站
  • 龙岗网站建设费用百度网页电脑版入口
  • 成都百度公司在哪里排名优化seo
  • 网站编写教程周口网站建设公司
  • 河北省建设信息中心网站最新疫情爆发
  • 自己本地可以做网站服务器吗网络文章发布平台
  • 城市建设杂志社网站贵州网站seo
  • 柳州建设网站经济适用房表格网络软文案例
  • linux做网站服务器那个软件好seow是什么意思