博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(P34)异常处理:else语句,with
阅读量:4299 次
发布时间:2019-05-27

本文共 1139 字,大约阅读时间需要 3 分钟。

文章目录

1.else语句

  • 在Python中,else语句不仅能跟if语句搭配,构成“要么怎样,要么不怎么样”的语境;Ta还能跟循环语句(for语句或者while语句),构成“干完了能怎样,不干完就别想怎样”的语境;其实else语句还能够跟我们刚刚讲的异常处理进行搭配,构成“没有问题,那就干吧”的语境。

  • eg:

def showMaxFactor(num):    count = num // 2#//为整除,判断是素数,只需依次判断当前数num除以1到(num // 2)都不能整除即可    while count > 1:        if num % count == 0:#判断是否整除            print('%d最大的约数是%d' % (num, count))            break#跳出循环后else并不执行        count -= 1    else:#当while循环不成立时,或者理解为while循环完全被执行完了,没有给中途跳出(即break)        print('%d是素数!' % num)num = int(input('请输入一个数:'))showMaxFactor(num)
  • 测试:注:else与for语句搭配与while语句相同
    在这里插入图片描述
  • eg:只要try语句块里没有出现任何异常,那么就会执行else语句块里的内容啦
try:    print(int('123'))except ValueError as reason:    print('出错了:' + str(reason))else:    print('没有任何异常!')
  • 测试:
    在这里插入图片描述

2.with

  • bug的eg:若data.txt不存在,则这里试图去关闭一个不存在的文件的问题。
try:    f = open('test.txt','w')        for each_line in f:            print(each_line)except (OSError,TypeError) as reason:    print('出错了\n原因是:' + str(reason))finally:	f.close()
  • 简洁的with语句(with会自动帮你关闭文件)
try:    with open('test.txt','w') as f:        for each_line in f:            print(each_line)except (OSError,TypeError) as reason:    print('出错了\n原因是:' + str(reason))
  • 测试:

    在这里插入图片描述

  • 参考:,

转载地址:http://pliws.baihongyu.com/

你可能感兴趣的文章
设计模式13_享元模式
查看>>
设计模式14_组合结构
查看>>
设计模式15_模板
查看>>
海龟交易法则01_玩风险的交易者
查看>>
CTA策略02_boll
查看>>
vnpy通过jqdatasdk初始化实时数据及历史数据下载
查看>>
设计模式19_状态
查看>>
设计模式20_观察者
查看>>
vnpy学习10_常见坑
查看>>
vnpy学习10_常见坑02
查看>>
用时三个月,终于把所有的Python库全部整理了!拿去别客气!
查看>>
pd.stats.ols.MovingOLS以及替代
查看>>
vnpy学习11_增加测试评估指标
查看>>
资金流入流出计算方法
查看>>
海龟交易法则07_如何衡量风险
查看>>
海龟交易法则08_风险与资金管理
查看>>
海龟交易法则09_海龟式积木
查看>>
海龟交易法则10_通用积木
查看>>
海龟交易法则14_掌控心魔
查看>>
海龟交易法则15_万事俱备
查看>>