首页 > 编程语言 >python中for - else中的else存在的必要性

python中for - else中的else存在的必要性

时间:2023-08-17 11:36:54浏览次数:30  
标签:... python 代码 except 必要性 else try print

for i in range(3):
if i == 1:
break
print(i)
else:
print("else")

for i in range(3):
if i > 0:
continue
print(i)
else:
print("else")

 

首先请参见上一份代码, 先猜猜结果是啥, 如果认为一样的, 说明这篇博客还是有写的必要的, 如果认为不一样的, 说明你基础很牢固。

答案如下:

0
0
else

 

 

这就是for - else 中else的作用。 其实之前一度认为这个else没有存在的必要, 但是实际上, 他也算是一种编译优化, 试想如果这个else不存在, 你要实现图中的效果, 即在执行完循环后判断它是因中断而退出, 还是执行完整个循环而退出, 以此来决定你要不要做一段代码,是不是至少得有一个变量去保存它的退出状态, 然后根据这个变量状态去决定是否执行一块代码, 那样整体结构就比较松散, 所以不如用for - else

另外, while - else, try - except - else效果同上所示...

总结: try - except - else、for - else、 while - else中else, 是在没有中断前一个代码块的情况下才会执行的代码, 如果break或者raise Exception, 则else不会执行, 且try - except - else的else中抛出的错误, 不会被本结构中的except捕获, 如果想要捕获else中的抛出的异常, 需要另加try - except...

教训: 不以年资去衡量自己的基础...

标签:...,python,代码,except,必要性,else,try,print
From: https://www.cnblogs.com/shoshana-kong/p/17637157.html

相关文章

  • 高效的HTTP代理,python如何助力
    在使用Python编写高效的HTTP代理时,可以采用以下一些小技巧来提升性能和效率:1、使用异步请求库:使用异步的HTTP请求库,如aiohttp或httpx,可以实现并发处理多个请求,提高代理的吞吐量和响应速度。2、复用连接:在处理多个请求时,尽量复用已建立的连接,而不是每次请求都创建新的连接。这可以通......
  • python3流程控制
    Python3条件控制if–elif–elsePython中用 elif 代替了 elseif,所以if语句的关键字为:if–elif–else。示例:Python中if语句的一般形式如下所示:ifcondition_1:statement_block_1elifcondition_2:statement_block_2else:statement_block_3  ......
  • python 由m列元组组成的列表 生成表格 不想形成m行, 只想形成1行
    python由m列元组组成的列表生成表格不想形成m行,只想形成1行list_1=list(range(3))list_2=['col'+str(i)foriinlist_1]dict_1={key:str(value)forkey,valueinzip(list_2,[list_1]*3)}#pd.DataFrame(dict_1)#ValueError:Ifusingallscalarva......
  • Python3 数据类型转换
    有时候,我们需要对数据内置的类型进行转换,数据类型的转换,一般情况下你只需要将数据类型作为函数名即可。Python数据类型转换可以分为两种:隐式类型转换-自动完成显式类型转换-需要使用类型函数来转换1. 隐式类型转换在隐式类型转换中,Python会自动将一种数据类型转......
  • 提高python执行效率的方法
    python上手很容易,但是在使用过程中,怎么才能使效率变高呢?下面说一下提高python执行效率的方法,这里只是说一点,python在引入模块过程中提高效率的方法。例如:1.我们要使用os模块中的某个属性,那我们可以单独引入os中某个属性fromosimportversion同样的我们也可以把引入的模块属性或......
  • python 列表成对生成字典 表格的列元素成对生成列表
    列表成对生成字典list_1=list(range(3))list_2=['col'+str(i)foriinlist_1]dict_1={key:valueforkey,valueinzip(list_2,list_1)}dict_1list_1=list(range(3))list_2=['col'+str(i)foriinlist_1]dict_1={key:val......
  • 从Python到计算机视觉
    Python一直是计算机科学领域中最受欢迎的语言之一。它不仅易于学习和使用,而且具有广泛的应用领域,尤其是计算机视觉方面。本文将为读者提供一份详细的入门指南,帮助初学者了解Python和计算机视觉的基础知识和应用。安装Python要开始使用Python,您需要下载并安装Python编程语言。可以......
  • 爬虫工具的选择与使用:阐述Python爬虫优劣势
    作为专业爬虫ip方案解决服务商,我们每天都面对着大量的数据采集任务需求。在众多的爬虫工具中,Python爬虫凭借其灵活性和功能强大而备受青睐。本文将为大家分享Python爬虫在市场上的优势与劣势,帮助你在爬虫业务中脱颖而出。一、优势篇灵活性:Python是一种多功能的编程语言,其灵活性使......
  • python | 测试 | __name__的作用
    1、每个代码文件都是一个模块。2、在导入模块的时候,会执行模块中的代码。3、__name__变量是python解释器自动维护的变量4、__name__变量,如果是代码直接运行,值是"__main__"5、__name__变量,如果代码是被导入执行的,值是模块名(即代码文件名) 用法:(如果代码文件是直接运行,则执......
  • python+playwright 学习-70 一闪而过的提示消息如何定位
    前言页面上一闪而过的提示语,一般出现1-3秒就会消失,这种消息框如何定位呢?示例如下操作成功的提示语它过1-3秒就自动消失了,按下f12,鼠标还没指上去就不见了,无法获取它的元素属性。误区:首先这不是标准的alert,所以不能用dialog事件监听(很多初学者分不清alert和弹出消息框......