python中的else和with是两个非常实用的语句,以下是一点学习心得。
else语句一般可以有以下几种情况
if…else…
if a > b: return a - b else: #当if条件不成立时,执行else语句 return b - afor…else… for…else…的搭配比较巧妙,当for循环全部遍历完,才会执行else语句,如果有break导致循环中途退出,则连else一起跳过。
#100以内的素数 for num in range(100, 1, -1): for i in range(2, int(num**0.5)+1) if num%i==0: break else: #当for循环全部执行完,执行else语句,中途break不执行else print(num, end=" ")while…else while…else…和for…else…类型,当while正常执行完后,执行else语句,如果中途break则不执行else。
n=0 while n < 5: print(n) n+=1 else: print("ok")try…except…else
try: 正常的操作 ...................... except(Exception1[, Exception2[,...ExceptionN]]]): 发生以上多个异常中的一个,执行这块代码 ...................... else: 如果没有异常执行这块代码with语句是一种上下文管理协议,它可以确保在对资源进行访问后,无论是否发生异常,都可以执行相应的清理操作,正常的释放资源。 with语句是通过__enter__方法进行初始化,最后调用__exit__方法进行清理释放及处理异常。也就是说with处理的对象必须要有__enter__和__exit__方法。 最常用的方式就是通过with语句省略使用open()必须对应的close()语句,如下:
f = open("text.txt", "w") f.write("ncepu") f.close() #使用with方法 with open("text.txt","w") as f: f.write("ncepu")https://blog.csdn.net/LSGO_MYP/article/details/102825466