首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >除了在python中的连接之外,在尝试中,of的作用是什么?

除了在python中的连接之外,在尝试中,of的作用是什么?
EN

Stack Overflow用户
提问于 2020-06-13 14:05:37
回答 4查看 87关注 0票数 3

因此,基本上,如果不满足条件的话,else块只会工作,所以它是必要的。在for-else耦合和while-else耦合中,当由于某种原因无法执行循环时,它将执行。所以,我们不能通过尝试-来实现我们无法完成的任务.我的意思是,如果目的是检测是否引发异常,我们可以简单地在try块的末尾添加print语句来实现它。在尝试-除了-其他耦合中,其他因素的重要作用是什么?(大家好!我对编程和StackOverflow也非常陌生。但是我试着把这个问题和网站的礼仪尽可能地同步起来)

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2020-06-13 14:06:13

在python中没有其他东西可以耦合。上面提到的所有构造,再加上else,都可以很好地工作,甚至不需要使用else。您可以使用ifforwhiletry-except而不用else。但是,else在python中的作用是:执行代码,而不是在之上的块中执行代码。

请注意,与else无关的是,哪个块在它上面,或者它与谁耦合。只有当上面的块没有执行时,才会执行。由此产生的障碍可能是重要的,也可能不是重要的,或者是通过其他手段无法实现的。

票数 0
EN

Stack Overflow用户

发布于 2020-06-13 14:18:20

所以,我们不能通过尝试-来实现我们无法完成的任务.

考虑一下

代码语言:javascript
复制
try:
    a()
except Exception:
    b()
else:
    c()

一个。

代码语言:javascript
复制
try:
    a()
    c()
except Exception:
    b()

但是,如果b()引发Exception,这将捕获并运行Exception。我相信这可能就是你所想的。

B.

代码语言:javascript
复制
try:
    a()
except Exception:
    b()
c()

但这可能会在a()引发Exception时运行Exception

结果表明,C.

代码语言:javascript
复制
success = False
try:
    a()
    success = True
except Exception:
    b()
if success:
    c()

这在功能上是等价的,但更冗长,也不那么清晰。(我们甚至没有包括一个finally块。)

尝试

票数 3
EN

Stack Overflow用户

发布于 2020-06-13 14:15:36

如果在try块中没有发现错误,那么else块也会被执行,但是当一个错误被缓存时,除了块将被执行。

因此,如果您有一个方法,例如,可以抛出一个IOError,并且希望捕获它引发的异常,但是如果尝试块中的第一个操作(即代码)成功了,并且您不想从该操作中捕获一个IOError,那么在这种情况下将使用else块。

代码语言:javascript
复制
try:
    statements # statements that can raise exceptions
except:
    statements # statements that will be executed to handle exceptions
else:
    statements # statements that will be executed if there is no exception

考虑一下这个例子:

代码语言:javascript
复制
try:
    age=int(input('Enter your age: '))
except:
    print ('You have entered an invalid value.')
else:
    if age <= 21:
        print('You are not allowed to enter, you are too young.')
    else:
        print('Welcome, you are old enough.')

虽然使用else没有适当的意义,因为每次没有异常时,我们也可以在try块中完成任务。

希望这能帮上忙!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62360862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档