您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python – 为什么“except”中的未定义名称没有引发NameError?

5b51 2022/1/14 8:20:48 python 字数 1465 阅读 497 来源 www.jb51.cc/python

今天我很惊讶地看到以下工作没有例外(至少在Python 2.7.3中):>>> try: ... pass ... except ThingThatDoesNotExist: ... print 'bad' ... >>> 我原以为这应该在REPL中引发一个NameError,类似于以下内容:>&gt

概述

今天我很惊讶地看到以下工作没有例外(至少在Python 2.7.3中):

>>> try:
...     pass
... except ThingThatDoesNotExist:
...     print "bad"
...
>>>

我原以为这应该在REPL中引发一个NameError,类似于以下内容

>>> x = ThingThatDoesNotExist
Traceback (most recent call last):
  File "
  

任何人都知道这里发生了什么?

>>> True or ThingThatDoesNotExist

Python在需要评估时完全查找名称.不会查找不需要评估的名称,这是引发异常的失败查找.

总结

以上是编程之家为你收集整理的python – 为什么“except”中的未定义名称没有引发NameError?全部内容,希望文章能够帮你解决python – 为什么“except”中的未定义名称没有引发NameError?所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶