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

2017网站建设费用网页界面设计网站

2017网站建设费用,网页界面设计网站,WordPress导入hexo,网站的优化方案文章目录 1. Python中的yield1.1 一个简单的示例1.2 示例的每一步含义 2. yield 和return的区别2.1 一个简单的示例2.2 示例中每一步的含义 3. yield中的send()方法3.1 一个简单的示例3.2 示例中每一步的含义 4. yield中的throw()方法4.1 一个简单的示例4.2 示例中每一步的含义… 文章目录 1. Python中的yield1.1 一个简单的示例1.2 示例的每一步含义 2. yield 和return的区别2.1 一个简单的示例2.2 示例中每一步的含义 3. yield中的send()方法3.1 一个简单的示例3.2 示例中每一步的含义 4. yield中的throw()方法4.1 一个简单的示例4.2 示例中每一步的含义 1. Python中的yield yield 是 Python 中用于创建生成器的关键字之一。它可以在函数内部暂停执行并返回一个值但是保留了函数的状态使得函数可以在后续调用时恢复执行从上次暂停的地方继续执行。这种特性使得生成器可以逐步产生值而不需要一次性将所有值存储在内存中从而节省了内存空间。 1.1 一个简单的示例 我们可以通过一个简单的示例来说明 yield 的使用 def count_up_to(limit):count 1while count limit:yield countcount 1# 创建一个生成器对象 counter count_up_to(5)# 逐步获取生成器产生的值并打印 print(next(counter)) # 输出1 print(next(counter)) # 输出2 print(next(counter)) # 输出3 print(next(counter)) # 输出4 print(next(counter)) # 输出51.2 示例的每一步含义 def count_up_to(limit):这是一个生成器函数的定义它命名为 count_up_to接受一个参数 limit用于指定计数的上限。count 1这是计数器的初始化从 1 开始计数。while count limit:这是一个循环它会在计数小于等于上限时持续执行。yield count这是 yield 语句它会产生当前计数值并暂停函数的执行。在每次迭代中生成器会生成一个值并将控制权返回给调用方。count 1这是计数器的增加步骤每次迭代时计数器增加 1。counter count_up_to(5)这里创建了一个生成器对象调用 count_up_to() 函数并将其赋值给变量 counter。print(next(counter))在生成器对象上调用 next() 函数这会使生成器函数从上次暂停的地方继续执行生成并返回下一个计数值。 通过 yield我们可以实现一个能够逐步产生数值的生成器函数。这个函数在每次迭代时都会生成一个值并暂停执行直到下一次迭代开始。这种逐步生成值的方式非常高效特别是在处理大量数据或无限序列时。 2. yield 和return的区别 yield 和 return 在 Python 中有着不同的作用尽管它们都可以用于函数中的值的返回但它们之间有着关键的区别。 2.1 一个简单的示例 让我们通过一个示例来说明它们的区别 def generator_with_yield():yield 1yield 2yield 3def function_with_return():return [1, 2, 3]# 使用生成器函数 gen generator_with_yield() print(next(gen)) # 输出1 print(next(gen)) # 输出2 print(next(gen)) # 输出3# 使用普通函数 result function_with_return() print(result) # 输出[1, 2, 3]2.2 示例中每一步的含义 def generator_with_yield():这是一个生成器函数的定义。它使用 yield 语句产生值。在每次调用 next() 时函数会执行到下一个 yield 语句生成一个值并暂停执行直到下一次调用。def function_with_return():这是一个普通函数的定义。它使用 return 语句来返回一个列表。gen generator_with_yield()这里创建了一个生成器对象调用 generator_with_yield() 函数并将其赋值给变量 gen。print(next(gen))在生成器对象上调用 next() 函数这会使生成器函数从头开始执行生成第一个值并返回。每次调用 next()生成器函数都会继续执行直到遇到下一个 yield 语句为止。result function_with_return()在普通函数上调用它会执行函数内部的代码生成并返回一个列表。print(result)打印普通函数的返回值这是一个包含 [1, 2, 3] 的列表。 关键区别 yield 可以在生成器函数中多次返回值并且函数的状态会被保留可以在后续调用中恢复执行。这使得生成器函数可以实现惰性计算和逐步生成值的功能。return 一旦执行会立即结束函数的执行并将一个值返回给调用方。函数的状态不会被保留无法恢复执行。 总的来说yield 用于创建生成器函数支持暂停和恢复执行而 return 用于普通函数用于一次性返回值并终止函数执行。 3. yield中的send()方法 在 Python 的 yield 中send() 是一种方法它允许在生成器函数内部发送数据并使生成器继续执行。这种方法可以用于在生成器的每次迭代中向其提供值以及控制生成器的行为。 3.1 一个简单的示例 下面是一个简单的示例演示了如何在生成器函数中使用 send() 方法 def accumulator():total 0while True:value yield totalif value is not None:total value# 创建一个生成器对象 acc_gen accumulator()# 启动生成器 next(acc_gen)# 使用 send() 方法向生成器发送值并获取结果 print(acc_gen.send(1)) # 输出1 print(acc_gen.send(2)) # 输出3 print(acc_gen.send(3)) # 输出63.2 示例中每一步的含义 def accumulator():这是一个生成器函数的定义命名为 accumulator。它没有参数。total 0这是累加器的初始化开始时总和为 0。while True:这是一个无限循环表示生成器函数会一直执行直到外部调用方主动关闭生成器。value yield total这是 yield 语句它会生成当前的总和值并暂停函数的执行。在每次迭代中生成器会生成一个值并将控制权返回给调用方。同时它也是一个接收来自外部的值的地方通过 send() 方法向生成器发送值。if value is not None:这是一个条件语句检查发送的值是否为 None如果不是 None则表示有新的值要累加到总和中。total value这是将新值累加到总和中的步骤。acc_gen accumulator()这里创建了一个生成器对象调用 accumulator() 函数并将其赋值给变量 acc_gen。next(acc_gen)这是启动生成器的步骤通过 next() 函数开始执行生成器函数使其执行到第一个 yield 语句处暂停。print(acc_gen.send(1))在生成器对象上调用 send() 方法发送值 1 给生成器并获取生成器生成的总和值。 通过 send() 方法我们可以在生成器的每次迭代中向其提供值并控制生成器的行为。这种方法使得生成器函数更加灵活可以与外部环境进行双向通信。 4. yield中的throw()方法 在 Python 的 yield 中throw() 是一种方法它允许在生成器函数内部抛出一个指定的异常并使生成器处理该异常。这种方法可以用于在生成器函数中处理错误或特定情况并根据需要采取相应的行动。 4.1 一个简单的示例 下面是一个简单的示例演示了如何在生成器函数中使用 throw() 方法 def catcher():try:while True:try:value yieldprint(Received:, value)except ValueError as ve:print(ValueError occurred:, ve)except GeneratorExit:print(Generator closed.)# 创建一个生成器对象 gen catcher() next(gen) # 启动生成器# 在生成器中抛出异常 gen.throw(ValueError(Invalid value))# 继续在生成器中发送值 gen.send(10)# 关闭生成器 gen.close()4.2 示例中每一步的含义 def catcher():这是一个生成器函数的定义命名为 catcher。它没有参数。try:这是一个 try 块表示生成器函数会尝试执行其中的代码。while True:这是一个无限循环表示生成器函数会一直执行直到外部调用方主动关闭生成器。try:这是内部的 try 块用于捕获可能在 yield 语句周围发生的异常。value yield这是 yield 语句它会暂停函数的执行并等待外部发送的值。在每次迭代中生成器会生成一个值并将控制权返回给调用方。except ValueError as ve:这是一个 except 块用于捕获特定类型的异常在这里是 ValueError。print(Received:, value)这是打印接收到的值的步骤。except GeneratorExit:这是一个特殊的 except 块用于捕获生成器关闭时的异常。gen catcher()这里创建了一个生成器对象调用 catcher() 函数并将其赋值给变量 gen。next(gen)这是启动生成器的步骤通过 next() 函数开始执行生成器函数使其执行到第一个 yield 语句处暂停。gen.throw(ValueError(Invalid value))在生成器对象上调用 throw() 方法抛出一个 ValueError 异常。gen.send(10)继续在生成器中发送值这里发送了一个整数值 10。gen.close()关闭生成器这将导致生成器函数抛出 GeneratorExit 异常生成器函数中的相应代码将被执行。 通过 throw() 方法我们可以在生成器函数中抛出异常并根据需要进行处理。这种方法使得生成器函数更加灵活可以在生成器内部处理错误或特定情况。
http://www.w-s-a.com/news/900795/

相关文章:

  • 屏蔽ip地址访问网站自己做衣服的网站
  • 网站建设 域名业务 邮箱哪里有网站建设中心
  • 免费网站赚钱重庆建设摩托车股份有限公司
  • 合肥水运建设工程监理网站自己买服务器能在wordpress建网站
  • wordpress积分商城主题整站seo排名要多少钱
  • 鲜花网站建设的利息分析网站设计与制作专业
  • 深圳网站建设排名做网站的公司高创
  • 杭州哪家做外贸网站全国物流网站有哪些平台
  • 企业网站建设个人博客鞍山晟宇网站建设
  • 广东省自然资源厅网站h5移动端网站模板下载
  • 网站建设和安全管理制度云南九泰建设工程有限公司官方网站
  • 网站的关键词和描述做外贸家纺资料网站
  • 绥化市建设工程网站招投标地址链接怎么生成
  • 网站制作设计发展前景网页链接制作生成二维码
  • 廊坊哪里有制作手机网站的企业网站建设费用财务处理
  • 手机网站建设书籍工商咨询服务
  • 麻花星空影视传媒制作公司网站美食网站网站建设定位
  • 网站的切图是谁来做学会网站 建设
  • 交通局网站建设方案答辩ppt模板免费下载 素材
  • 个人摄影网站推介网手机版
  • 有哪些免费的视频网站网站开发和竞价
  • 学校网站如何做广州商城型网站建设
  • 微网站建设哪家便宜易优建站系统
  • 推荐做木工的视频网站毕业设计做的网站抄袭
  • 网站导航页面制作wordpress调用文章阅读量
  • app小程序网站开发品牌购物网站十大排名
  • 用wordpress做购物网站龙岩品牌设计
  • 网站开发是指wordpress系统在线升级
  • 网站建设运营的灵魂是什么意思页面跳转中
  • 家政服务网站源码重庆建网站企业有哪些