Python的for…else、while…else、try..except…else等语法

文章详细阐述了Python中for、while循环与try...except...else结构中else子句的执行条件。else子句在循环体内没有break、return或异常发生时执行,而在try中无异常时执行。通过示例代码展示了当循环正常结束或因break中断时,else语句的不同执行情况,强调了与if...else结构的区别。
摘要由CSDN通过智能技术生成

Python中的for、while是在循环体内没有break语句、没有return语句,或者没有异常出现时才执行else语句,try..except…else是在try中无异常产生时执行,注意不包括continue。

总的来说,是for、while、try语句中‘没毛病’时才执行,而在if..else语句中是if语句判断为假(有毛病)才执行else,这一点要区分开来

fruits=["apple","orange","pear"]
for item in fruits:
    if item=="apple":
        print("apple")
else:
    print("for-else")
    
    apple
输出:for-else
这里for循环正常执行结束,然后执行了else语块的代码。

fruits=["apple","orange","pear"]
for item in fruits:
    if item=="apple":
        print("break")
        break
else:
    print("for-else")
输出:break

当在for循环中执行break语句跳出循环时,else语块没有执行。

即for-else搭配使用时,for循环没有因为break语句跳出循环,则会执行else语句。


while-else与for-else类似,均为前面的循环正常结束时else语块会被执行。
i=5
while i>0:
    i=i-1
else:
    print("while-else")


输出:while-else


while语句正常执行,当while条件为false时结束while循环,进入else语块。

i=5
while i>0:
    i=i-1
    if i==3:
        print("break")
        break
else:
    print("while-else")

输出:break

while语句因为break语句跳出循环,else语块没有被执行。

while-else搭配使用时,while循环没有因为break语句跳出循环,则会执行else语句


    a = 'aa'
    try:
        # for i in range(3):
        #     if a[i] == 'a':
        #         continue
        if a == 'aa':
            print('不报错')
    except:
        print('error')
    else:
        print('no error')
        
输出:
不报错
no error

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值