python函数调用出错,python中异常处理的两种方式

  python函数调用出错,python中异常处理的两种方式

  (推荐操作系统:windows7系统,Python 3.9.1,戴尔G3电脑。)

  请注意,在执行生成器时调用以下任何生成器方法都会引发ValueError异常。

  1、__next__

  启动生成器或在最后一条yield语句后继续执行。当使用该方法继续时(注意是继续而不是第一次执行),那么当前yield的返回值为None,yield语句后的表达式结果直到下一条yield语句执行后才会返回给调用者。当迭代器结束时,抛出StopIteration异常。

  接下来,for和内置函数将隐式调用此方法。

  2、send

  继续执行生成器(注意是继续执行而不是第一次执行),并向生成器函数发送一个值。send方法的参数是下一个yield语句的返回值,前提是在yield语句中预先接收到它传递的参数。如果使用这个方法启动(即第一次执行)生成器,就必须使用None作为它的参数,因为此时没有yield可以接收它的值(毕竟接收值的语句还没有开始执行)。

  deffn():

  a=0

  whileTrue:

  a=1

  R=yield#r是接收send参数的变量。

  打印( {}={} )。格式(a,r))

  f=fn()

  F.send(a)#没有通过的后果

  回溯(mostrecentcalllast):

  文件“/opt/python 3/lib/python 3.6/site-packages/IPython/core/interactive shell . py”,第2910行,inrun_code

  exec(代码_对象,自我.用户_全局_ns,自我.用户_ns)

  文件 ipython-input-31-6f758a7cad28 ,第1行,在模块中

  发送( a )

  TypeError:can无法发送non-nonevaluetojust-started generator

  Next(f)#也可以通过使用Next而不是传递None来执行。

  发送( a )

  1=a

  发送( b )

  上面的2=b是python生成器调用方法抛出异常。希望能帮到你。更多Python学习指南:python基础教程

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: