注:
如果循环里的内容全部执行,没有中途跳出,则会执行else的内容。 (当输入为11时,count=5>1,num%count=1,即不执行 if 的内容,count减1,执行else。)如果中途用break跳出,else的内容不会被执行。 (当输入为8时,count=4>1,num%count=0,执行 if 的内容,当执行到break时,跳出while循环,else部分也不执行。)for-else与while-else类似。 try-else try: int("abc") except ValueError as reason: print("出错了:"+str(reason)) else: print("没有异常")注:try后没有错误执行else,有错则不执行。
用with语句简化:
try: with open('data.txt','w') as f: for each_line in f: print(each_line) except OSError as reason: print('出错了'+str(reason))https://www.bilibili.com/video/av4050443/?p=35