Python基础刻意练习——Day12:else 与 with 语句

Day1:变量、运算符与数据类型
Day2:条件与循环
Day3&4:列表与元组
Day5:字符串与序列
Day6&7:函数与Lambda表达式
Day8:字典与集合
Day9&10:文件与文件系统
Day11:异常处理
Day12:else 与 with 语句——>本文
Day13&14:类与对象
Day15&16:魔法方法
Day17:模块

一.else语句

1. if…else…

详见Day2:条件与循环,略

2.while…else…

放在循环外面,若循环顺利结束则执行(break跳出则不执行)

def MaxFactor(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('请输入一个数:'))
MaxFactor(num)
'''
请输入一个数:17
17是素数
'''
  • for…else…同理

3.try…except…else…

Day11:异常处理中已说过,略

二、with语句

with 语句可抽象出文件操作中频繁使用的try、except、finally相关的细节,自动检查是否关闭文件
减少代码量

try:
    with open(r'data.txt','r+') as f:
        for line in f:
            print(line,end=' ')
except OSError as e:
    print('出错',e)
#出错 [Errno 2] No such file or directory: 'data.txt'

p.s.
上述代码中f是一个TextIOWrapper类
需通过for语句输出其文本内容
data.txt内容如下:

python
data
try:
    with open(r'practise/data.txt','r+') as f:
        print(type(f))
        for line in f:
            print(line,end=' ')
except OSError as e:
    print('出错',e)
'''

python
 data 
'''

你可能感兴趣的:(python基础)