学习资料: https://mp.weixin.qq.com/s/_5Tfb8sIsSrPgqcRxyAHCw
引入:不同于其他语言,在Python中else语句除了可以与if搭配成条件语句,还可以与while搭配成循环语句,还可以进行异常处理。而with语句可以保证文件在是用完之后一定会被关闭。
Part 01 丰富的else语句
if...else if 条件: 如果条件为真执行的语句 else: 如果条件为假执行的语句 while...else&for..else 两者的else 中的语句会在循环正常执行完(若 for 或while不是通过 break 跳出而中断)的情况下执行。 while 条件: 执行语句 else: 不符合循环条件时执行的语句例:
for num in range(10, 20): for i in range(2, num): if num % i == 0: # 确定第一个因子 j = num / i # 计算第二个因子 print('%d 等于 %d * %d' % (num, i, j)) break else: print(num, '是一个质数') # 10 等于 2 * 5 # 11 是一个质数 # 12 等于 2 * 6 # 13 是一个质数 # 14 等于 2 * 7 # 15 等于 3 * 5 # 16 等于 2 * 8 # 17 是一个质数 # 18 等于 2 * 9 # 19 是一个质数 try …. except … else try: 正常的操作 except: 发生异常执行的代码 else: 如果没有异常执行的代码使用except最好带上异常类型,否则无论什么异常都执行下方语句。具体见Task 08:异常处理。
try: 正常的操作 except(Exception1, Exception2,..): 发生以上多个异常中的一个,执行的代码 else: 如果没有异常执行的代码Part 02:简洁的with语句
例:
try: f = open('myfile.txt', 'w') for line in f: print(line) except OSError as error: print('出错啦!%s' % str(error)) finally: f.close()改进:
try: with open('myfile.txt', 'w') as f: for line in f: print(line) except OSError as error: print('出错啦!%s' % str(error))with会自动调用f.close关闭文件。