continue: 跳出本次循环,后面如果有代码不会执行;
pass : 占位的作用,一般不起任何作用,后面的有代码还会执行;
break:结束循环,程序后面如果有语句还会执行;
exit():结束整个程序,程序后面如果有语句不会执行。
- os._exit():这个模块函数会直接将python程序终止,之后的所有代码都不会继续执行。
- sys.exit():会引发一个异常:SystemExit,如果这个异常没有被捕获,那么python解释器将会退出。如果有捕获此异常的代码,那么这些代码还是会执行。捕获这个异常可以做一些额外的清理工作。0为正常退出,其他数值(1-127)为不正常,可抛异常事件供捕获。
- exit(0):意味着一个干净的出口,没有任何错误/问题,无错误退出 。
- exit(1):意味着存在一些问题/错误/问题,这就是程序退出的原因,有错误退出。
举个栗子:
continue: 跳出本次循环,条件嵌套内部后面如果有代码不会执行;
print('#############continue##################')
j=0
for i in range(10):
if i%2==0:
continue
j+=1
else:
print('i=',i)
print('j=',j)
结果为:
#############continue##################
i= 1
j= 0
i= 3
j= 0
i= 5
j= 0
i= 7
j= 0
i= 9
j= 0
pass : 占位的作用,一般不起任何作用,条件嵌套内部后面如果有代码还会执行;
print('#############pass##################')
j=0
for i in range(10):
if i%2==0:
pass
j+=1
else:
print('i=', i)
print('j=', j)
结果为:
#############pass##################
i= 1
j= 1
i= 3
j= 2
i= 5
j= 3
i= 7
j= 4
i= 9
j= 5
break:结束循环,程序后面如果有语句还会执行;
print('#############break##################')
j=0
for i in range(10):
if i%2==0:
j+=1
else:
print('i=', i)
break
print('j=',j)
结果为:
#############break##################
i= 1
j= 1
exit():结束整个程序,程序后面如果有语句不会执行。
print('#############exit()##################')
j=0
for i in range(10):
if i%2==0:
j+=1
else:
print('i=', i)
exit()
print('j=',j)
结果为:
#############exit()##################
i= 1
- os._exit():这个模块函数会直接将python程序终止,之后的所有代码都不会继续执行。
- sys.exit():会引发一个异常:SystemExit,如果这个异常没有被捕获,那么python解释器将会退出。如果有捕获此异常的代码,那么这些代码还是会执行。捕获这个异常可以做一些额外的清理工作。0为正常退出,其他数值(1-127)为不正常,可抛异常事件供捕获。
- exit(0):意味着一个干净的出口,没有任何错误/问题,无错误退出 。
- exit(1):意味着存在一些问题/错误/问题,这就是程序退出的原因,有错误退出。
print('#############sys.exit()##################')
import os, sys
try:
sys.exit(0)
except:
print('die')
finally:
print('cleanup')
print('#############os._exit()##################')
try:
os._exit(0)
except:
print('die')
print('os.exit')
结果为:
#############sys.exit()##################
die
cleanup
#############os._exit()##################