Python如何在for后接else
这篇文章主要讲解了“Python如何在for后接else”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python如何在for后接else”吧!
0、背景今天看到了一个比较诡异的写法,for后直接跟了else语句,起初还以为是没有缩进好,查询后发现果然有这种语法,特此分享。之前写过c++和Java,在for后接else还是第一次见。
1、试验#eg1importnumpyasnpforiinnp.arange(5):printielse:print("hello?")#0#1#2#3#4#hello?
可以发现,在for正常结束后,break中的语句进行了执行。
#eg2importnumpyasnpforiinnp.arange(5):printiif(i==3):breakelse:print("hello?")#0#1#2#3
在这个例子当中,i==3的时候break出了循环,然后else当中的语句就没有执行。
2、总结总结起来比较简单,如果for循环正常结束,else中语句执行。如果是break的,则不执行。
工程性代码写的比较少,暂时没有想到很好的场景,为了不对其他同学造成干扰,这种形式还是少些一点较好。
补充:python里for和else的搭配
用找质数作为代码示例foriinrange(2,10):forninrange(2,i):ifi%n==0:#print(i,'=',n,'*',i//n)breakelse:print('foundit%s'%i)
注意:这里的 else 并不属于 if 代码块
根据官方文档的解释理解的意思:当迭代的对象迭代完并为空时,位于else的语句将会执行,而如果在for循环里有break时,则会直接终止循环,并不会执行else里的代码
写一个简单例子,用来辅助理解foriinrange(10):ifi==7:print('foundit%s'%i)breakelse:print('notfound')
可以先运行代码,看一下运行结果,然后将代码块里的break注释掉再运行一遍,与第一次运行的结果进行比较,就会发现不同
补充:python中for—else的用法,执行完for执行else
结束for循环后执行elseforiinrange(5):print(i)else:print("打印else")
感谢各位的阅读,以上就是“Python如何在for后接else”的内容了,经过本文的学习后,相信大家对Python如何在for后接else这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。