python学习042-----python之丰富的else和简洁的with语句

一、丰富的else语句
1.它可以与while语句构成:“要么怎样,要么不怎样”的逻辑结构
2.也可以与for语句构成:“干完了能怎样,干不完就别想怎样”的逻辑结构
3.还可以与异常处理语句构成:“没有问题,那就干吧”的逻辑结构
------------------------------------------------------------------------------------------------------
1.if/while - else语句:
if 条件:
    执行语句1
else:
    执行语句2

举个例子加深理解:(while和else的搭配使用)

def showMaxFactor(num):       #计算除自身外的最大约数
    count = num // 2
    while count > 1:
        if num % count == 0:
            print('%d最大的约数是%d'%(num, count))
            break
        count -= 1
    else:
        print('%d是素数'%num)

num = int( input( '请输入一个数:' ) )
showMaxFactor(num)

------------------------------------------------------------------------------------------------------
2.for-else语句:
与while-else语句是类似的,这里不再重复举例了
------------------------------------------------------------------------------------------------------
3.try-else语句:只要try里面的语句没有异常,那么就执行esle里面的语句
try:
    代码块1
except:
    运行异常代码块
else:
    代码块2

举例说明:

try:
    int('123')
except ValueError as reason:
    print('出错啦:', reason )
else:
    print('没有任何异常!')
#这段代码里,由于int('123')没有任何问题,所以else中的语句会被执行

二、简洁的with语句
前面打开文件关闭文件很烦,为了防止出错甚至还加入了try-except语句。我们引入with语句,
它会自动帮我们考虑关闭文件的问题,使代码更加简洁。下面举例说明:
在之前,我们关闭文件需要使用close(),如下:

try:
    f = open('data.txt','w')
    for each_line in f:
        print(each_line)
except OSError as reason:
    print('出错了:',reason)
finally:
    f.close()

但是在使用with后,就不用考虑关闭文件的问题了,代码也简洁很多:

try:
    with open('data.txt','w') as f:
        for each_line in f:
            print(each_line)
except OSError as reason:
    print('出错了:',reason) 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值