return键盘上哪个键(键盘true是哪个按键)

懵懂先生 投稿文章return键盘上哪个键(键盘true是哪个按键)已关闭评论61阅读模式

文章源自略懂百科-http://wswcn.cn/111214.html

作者:麦叔文章源自略懂百科-http://wswcn.cn/111214.html

来源:麦叔编程文章源自略懂百科-http://wswcn.cn/111214.html

一直以来,我的理解是:文章源自略懂百科-http://wswcn.cn/111214.html

文章源自略懂百科-http://wswcn.cn/111214.html

return语句是函数的终结,一旦遇到return,函数马上就结束返回了。文章源自略懂百科-http://wswcn.cn/111214.html

文章源自略懂百科-http://wswcn.cn/111214.html

直到认真学习了try...except...finally异常处理才发现并不总是这样的。但这个问题你真的理解吗?文章源自略懂百科-http://wswcn.cn/111214.html

文章源自略懂百科-http://wswcn.cn/111214.html

return语句和finally语句到底谁先执行呢?文章源自略懂百科-http://wswcn.cn/111214.html

文章源自略懂百科-http://wswcn.cn/111214.html

可能没有你想象的那么简单!文章源自略懂百科-http://wswcn.cn/111214.html

finally语句

来看这段代码例子:文章源自略懂百科-http://wswcn.cn/111214.html

defplay_numer():number_list = []whileTrue:
print(-----------------)try:
number = input(输入一个数字:)
print(int(number)/2)ifnumber ==886:returnexceptExceptionase:
print(f出错了:{e})finally:
number_list.append(number)
print(number_list)文章源自略懂百科-http://wswcn.cn/111214.html

play_numer()文章源自略懂百科-http://wswcn.cn/111214.html

执行结果如下:文章源自略懂百科-http://wswcn.cn/111214.html

-----------------输入一个数字:123
61.5[123]-----------------输入一个数字:321
160.5[123,321]-----------------输入一个数字:886
443.0[123,321,886]文章源自略懂百科-http://wswcn.cn/111214.html

从结果可以看出,就算遇到了886,也在退出之前成功打印了包含886的列表。这似乎说明:文章源自略懂百科-http://wswcn.cn/111214.html

文章源自略懂百科-http://wswcn.cn/111214.html

finally语句先执行,然后再执行return语句。文章源自略懂百科-http://wswcn.cn/111214.html

文章源自略懂百科-http://wswcn.cn/111214.html

推翻认知的例子

我们现在修改一下代码,会推翻之前的理解:文章源自略懂百科-http://wswcn.cn/111214.html

defplay_numer():number_list = []whileTrue:
print(-----------------)try:
number = input(输入一个数字:)
print(int(number)/2)ifnumber ==886:returnnumber_list.append(return)exceptExceptionase:
print(f出错了:{e})finally:
number_list.append(number)
print(number_list)文章源自略懂百科-http://wswcn.cn/111214.html

play_numer()文章源自略懂百科-http://wswcn.cn/111214.html

代码几乎和前面一样,唯一的区别是在return语句中执行了这个操作:number_list.append(return)。文章源自略懂百科-http://wswcn.cn/111214.html

看看打印结果:文章源自略懂百科-http://wswcn.cn/111214.html

-----------------输入一个数字:123
61.5[123]-----------------输入一个数字:321
160.5[123,321]-----------------输入一个数字:886
443.0[123,321,return,886]文章源自略懂百科-http://wswcn.cn/111214.html

完全一样的输入,看看最后一条打印结果:字符串return在886之前被加入到了列表,这似乎又说明:文章源自略懂百科-http://wswcn.cn/111214.html

文章源自略懂百科-http://wswcn.cn/111214.html

return语句在finally之前执行,和前面的结论相反。文章源自略懂百科-http://wswcn.cn/111214.html

文章源自略懂百科-http://wswcn.cn/111214.html

结论

这个问题的关键在于认识到:文章源自略懂百科-http://wswcn.cn/111214.html

文章源自略懂百科-http://wswcn.cn/111214.html

return语句包含两部分,一部分return关键字后的表达式,比如number_list.append(return),另一部分是return本身,也就是退出函数的操作。文章源自略懂百科-http://wswcn.cn/111214.html

文章源自略懂百科-http://wswcn.cn/111214.html

所以正确的顺序是:文章源自略懂百科-http://wswcn.cn/111214.html

文章源自略懂百科-http://wswcn.cn/111214.html

return表达式,finally语句块,return操作文章源自略懂百科-http://wswcn.cn/111214.html

文章源自略懂百科-http://wswcn.cn/111214.html

文章源自略懂百科-http://wswcn.cn/111214.html

懵懂先生
  • 本文由 发表于 2023年8月3日 18:23:17
  • 转载请注明:http://wswcn.cn/111214.html
投稿文章

11118是什么(11118是什么星座)

[XCAR 导购 原创] 前言:XT5是SRX的继任车型,作为一款中型SUV,其直接竞争对手无疑锁定北京奔驰GLC、一汽-大众奥迪Q5、宝马X3以及雷克萨斯NX等。SRX当初是以进口身份进入国内,售价...
投稿文章

游戏王有几部(游戏王5部主角实力排名)

说到游戏王里面的系列卡组,英雄系列想必是一个绕不开的话题。在二代动漫《游戏王GX》中,主角游城十代使用的便是元素英雄卡组,而宿敌艾德菲尼克斯则是与其对应的命运英雄卡组。十代君的一句英雄有英雄战斗的场地...
投稿文章

什么是路演

影城说没票,被包场了你们口里被包场的票,正在黄牛手里明码标价……据媒体报道,最近几天,大热影片《流浪地球2》的主创团队正辗转于各大城市路演,部分城市站的路演票最高被黄牛叫到2200元一张。有黄牛称,还...
投稿文章

尿不湿和尿布哪种适合新生儿(尿不湿和尿布哪个适合新生儿)

很多新手妈妈和快要生产的准妈妈们都会纠结,是给宝宝选择尿不湿,还是用传统办法,使用尿布。两种办法各有利弊,究竟怎么选择,可以多方面考虑,比如,有没有人照看孩子,就是首先要考虑的因素,如果只是宝妈自己照...